Fundamentos de redes

Telnet, IPs, Puertos, Concurrencia y DNS en la WWW

Prerrequisitos de la Actividad

Software para establecer conexiones TELNET y SSH.

Protocolo Telnet

¿Qué es Telnet?

  • Protocolo utilizado para conexiones remotas en redes TCP/IP.
  • Permite acceder a dispositivos como servidores o routers mediante una sesión interactiva.

Comandos Básicos

telnet <IP> <puerto>
Ejemplo: telnet 192.168.1.1 23

Limitaciones

  • Vulnerabilidad a intercepciones.
  • Fue reemplazado por protocolos más seguros como SSH.

Puertos y Direcciones IP

¿Qué son las direcciones IP?

  • Identifican dispositivos en una red.
  • Están compuestas por números separados por puntos (IPv4) o por dos puntos (IPv6).

IPv4

  • Formato: Cuatro octetos separados por puntos (e.g., 192.168.1.1).
  • Cada octeto tiene un valor entre 0 y 255 (8 bits: 28 = 256 valores posibles).

IPv6

  • Formato: Direcciones más largas, separadas por dos puntos (e.g., 2001:0db8:85a3:0000:0000:8a2e:0370:7334).
  • Diseñadas para soportar un número mucho mayor de dispositivos conectados.

Puertos

  • Un puerto es un identificador numérico asociado a un servicio o aplicación en un dispositivo.
  • Rango de valores: 0 a 65535 (16 bits).

Categorías de Puertos

  • 0-1023: Puertos bien conocidos (e.g., 80 para HTTP, 23 para Telnet).
  • 1024-49151: Puertos registrados para aplicaciones.
  • 49152-65535: Puertos dinámicos o privados.

Conexiones Concurrentes

¿Qué es una conexión concurrente?

  • Múltiples clientes conectados a un servidor simultáneamente.
  • Los mensajes enviados por un cliente son visibles para todos.

Manejo de Conexiones

  • Los servidores utilizan sockets para aceptar y gestionar varias conexiones.

Protocolo HTTP y Servidores HTTP Simples

¿Cómo funciona un servidor HTTP?

  • Un servidor HTTP escucha solicitudes en un puerto (comúnmente el puerto 80 para HTTP o 443 para HTTPS).
  • Cuando recibe una solicitud, analiza los datos proporcionados (método, ruta, headers).
  • Genera una respuesta basada en el recurso solicitado y la envía de vuelta al cliente.

Métodos HTTP

  • GET: Solicita un recurso del servidor, como una página web o archivo.
  • POST: Envía datos al servidor, generalmente para guardar información o procesar formularios.

Servidor HTTP

Comando para iniciar un servidor HTTP simple con Python:

python3 -m http.server

Archivo de Hosts

¿Qué es el Archivo de Hosts?

  • Archivo local que asigna nombres a direcciones IP sin usar un servidor DNS.
  • Ubicación común: /etc/hosts en sistemas UNIX/Linux.
  • En sistemas Windows, se encuentra en C:\Windows\System32\drivers\etc\hosts.

Función del Archivo de Hosts

  • Actúa como intermediario antes de que una solicitud de dominio llegue a un servidor DNS.
  • Si un dominio está definido en este archivo, el sistema resuelve la dirección IP localmente.
  • Permite redirigir dominios específicos a direcciones IP diferentes, como para pruebas locales.

Ejemplo de Configuración

192.168.1.1 example.local
127.0.0.1 localhost

Sistema de Nombres de Dominio (DNS)

¿Qué es DNS?

  • El DNS (Domain Name System) es un sistema que traduce nombres de dominio legibles por humanos (e.g., example.com) en direcciones IP que las computadoras utilizan para comunicarse (e.g., 192.168.1.1).
  • Es esencial para que los usuarios puedan acceder a recursos en Internet sin necesidad de recordar direcciones IP.

¿Para qué sirve DNS?

  • Facilita la navegación al permitir el uso de nombres amigables en lugar de direcciones IP.
  • Es una parte crucial de la infraestructura de Internet, utilizada para servicios como correo electrónico, navegación web, y aplicaciones en línea.
  • Permite gestionar dominios y subdominios.

¿Qué son las tablas de zonas?

  • Son archivos o bases de datos que contienen mapeos entre nombres de dominio y direcciones IP.
  • Definen los registros DNS que indican cómo se debe resolver un dominio específico.

Tipos de Registros en Tablas de Zonas

  • A: Dirección IPv4 de un dominio.
  • AAAA: Dirección IPv6 de un dominio.
  • CNAME: Alias para otro dominio.
  • MX: Servidores de correo electrónico.
  • TXT: Información adicional, como verificación de dominios.

Ejemplo de una Tabla de Zonas

example.local. IN A 192.168.1.1
mail.example.local. IN MX 10 mailserver.local.
example.local. IN CNAME www.example.local.