Protocolos de Red

Los protocolos de red son conjuntos de reglas y estándares que definen cómo los dispositivos se comunican a través de una red. Cada protocolo tiene funciones específicas y opera en diferentes capas del modelo OSI.

¿Qué son los Protocolos de Red?

Un protocolo de red es un conjunto de reglas formales que especifican cómo los datos se transmiten, reciben y procesan entre dispositivos de red. Los protocolos aseguran que la comunicación sea confiable, eficiente y segura.

Clasificación de Protocolos

Por Capa OSI

Capa de Aplicación

  • HTTP: Hypertext Transfer Protocol
  • HTTPS: HTTP Secure
  • FTP: File Transfer Protocol
  • SMTP: Simple Mail Transfer Protocol
  • DNS: Domain Name System
  • SSH: Secure Shell
  • Telnet: Terminal Network

Capa de Transporte

  • TCP: Transmission Control Protocol
  • UDP: User Datagram Protocol
  • SCTP: Stream Control Transmission Protocol

Capa de Red

  • IP: Internet Protocol
  • ICMP: Internet Control Message Protocol
  • OSPF: Open Shortest Path First
  • BGP: Border Gateway Protocol

Capa de Enlace

  • Ethernet: Protocolo de red local
  • PPP: Point-to-Point Protocol
  • WiFi: IEEE 802.11

Por Funcionalidad

Protocolos de Comunicación

  • TCP/IP: Suite principal de Internet
  • UDP: Comunicación rápida sin garantías
  • HTTP: Comunicación web

Protocolos de Enrutamiento

  • OSPF: Enrutamiento interno
  • BGP: Enrutamiento externo
  • RIP: Protocolo de información de rutas

Protocolos de Seguridad

  • SSL/TLS: Cifrado de comunicaciones
  • IPSec: Seguridad a nivel IP
  • SSH: Terminal seguro

Protocolos Principales

TCP (Transmission Control Protocol)

Características:

  • Confiabilidad: Garantiza entrega de datos
  • Control de flujo: Regula velocidad de transmisión
  • Control de errores: Detecta y corrige errores
  • Conexión: Establece conexión antes de transmitir

Puertos comunes:

  • 80: HTTP
  • 443: HTTPS
  • 21: FTP
  • 22: SSH
  • 25: SMTP
  • 53: DNS

Formato de segmento TCP:

| Puerto Origen | Puerto Destino | Número Secuencia | Número ACK | Flags | Ventana | Checksum | Urgente | Opciones | Datos |
|     16 bits   |     16 bits    |     32 bits     |   32 bits  | 8 bits| 16 bits |  16 bits | 16 bits | Variable | Variable |

UDP (User Datagram Protocol)

Características:

  • Sin conexión: No establece conexión previa
  • Rápido: Menor overhead que TCP
  • Sin garantías: No garantiza entrega
  • Simple: Estructura simple

Puertos comunes:

  • 53: DNS
  • 67/68: DHCP
  • 69: TFTP
  • 123: NTP
  • 161: SNMP

Formato de datagrama UDP:

| Puerto Origen | Puerto Destino | Longitud | Checksum | Datos |
|     16 bits   |     16 bits    |  16 bits |  16 bits | Variable |

IP (Internet Protocol)

Características:

  • Direccionamiento: Asigna direcciones IP
  • Enrutamiento: Determina rutas de paquetes
  • Fragmentación: Divide paquetes grandes
  • Sin conexión: No mantiene estado

Versiones:

  • IPv4: 32 bits (4.3 mil millones de direcciones)
  • IPv6: 128 bits (340 sextillones de direcciones)

Formato de paquete IPv4:

| Versión | IHL | Tipo Servicio | Longitud Total | Identificación | Flags | Offset | TTL | Protocolo | Checksum | IP Origen | IP Destino | Opciones | Datos |
| 4 bits  |4 bits|    8 bits    |     16 bits    |    16 bits    |3 bits |13 bits |8 bits|   8 bits   |  16 bits |  32 bits  |   32 bits  | Variable | Variable |

HTTP (Hypertext Transfer Protocol)

Características:

  • Sin estado: No mantiene información entre peticiones
  • Texto: Protocolo basado en texto
  • Métodos: GET, POST, PUT, DELETE
  • Códigos: Respuestas numéricas

Métodos HTTP:

  • GET: Obtener recursos
  • POST: Enviar datos
  • PUT: Actualizar recursos
  • DELETE: Eliminar recursos
  • HEAD: Obtener headers
  • OPTIONS: Obtener opciones

Códigos de estado:

  • 1xx: Informativo
  • 2xx: Éxito (200 OK)
  • 3xx: Redirección (301, 302)
  • 4xx: Error del cliente (404, 403)
  • 5xx: Error del servidor (500, 502)

DNS (Domain Name System)

Características:

  • Resolución: Convierte nombres a IP
  • Distribuido: Base de datos distribuida
  • Jerárquico: Estructura de árbol
  • Caché: Almacena consultas recientes

Tipos de registros:

  • A: Dirección IPv4
  • AAAA: Dirección IPv6
  • CNAME: Alias
  • MX: Servidor de correo
  • NS: Servidor de nombres
  • PTR: Puntero (reverse DNS)
  • TXT: Texto

FTP (File Transfer Protocol)

Características:

  • Dos conexiones: Control y datos
  • Modos: Activo y pasivo
  • Autenticación: Usuario y contraseña
  • Comandos: SET de comandos específicos

Puertos:

  • 21: Control (siempre)
  • 20: Datos (modo activo)
  • Variable: Datos (modo pasivo)

Comandos FTP:

  • USER: Nombre de usuario
  • PASS: Contraseña
  • LIST: Listar archivos
  • RETR: Descargar archivo
  • STOR: Subir archivo
  • QUIT: Cerrar conexión

Protocolos de Enrutamiento

OSPF (Open Shortest Path First)

Características:

  • Estado de enlace: Conoce topología completa
  • Áreas: Divide redes en áreas
  • Métricas: Basado en costo
  • Convergencia: Rápida convergencia

Tipos de áreas:

  • Backbone: Área 0
  • Stub: Área sin rutas externas
  • NSSA: Not So Stubby Area
  • Transit: Área de tránsito

BGP (Border Gateway Protocol)

Características:

  • Path vector: Protocolo de vector de rutas
  • AS: Autonomous Systems
  • Políticas: Basado en políticas
  • Estable: Muy estable

Tipos de sesiones:

  • eBGP: Entre AS diferentes
  • iBGP: Dentro del mismo AS

Protocolos de Seguridad

SSL/TLS (Secure Sockets Layer / Transport Layer Security)

Características:

  • Cifrado: Datos cifrados en tránsito
  • Autenticación: Verificación de identidad
  • Integridad: Detección de modificaciones
  • Certificados: Certificados digitales

Versiones:

  • SSL 1.0: No publicado
  • SSL 2.0: Vulnerable
  • SSL 3.0: Vulnerable (POODLE)
  • TLS 1.0: Reemplaza SSL 3.0
  • TLS 1.1: Mejoras menores
  • TLS 1.2: Ampliamente usado
  • TLS 1.3: Más rápido y seguro

SSH (Secure Shell)

Características:

  • Cifrado: Conexión cifrada
  • Autenticación: Múltiples métodos
  • Túneles: Port forwarding
  • SFTP: Transferencia segura de archivos

Versiones:

  • SSH-1: Versión original (vulnerable)
  • SSH-2: Versión actual (segura)

Herramientas de Análisis de Protocolos

Wireshark

  • Captura: Captura de paquetes
  • Análisis: Análisis detallado
  • Filtros: Filtrado por protocolo
  • Estadísticas: Estadísticas de tráfico

tcpdump

  • Línea de comandos: Herramienta CLI
  • Filtros: Filtros BPF
  • Captura: Captura básica
  • Análisis: Análisis básico

netstat

  • Conexiones: Conexiones activas
  • Puertos: Puertos en uso
  • Estadísticas: Estadísticas de protocolos
  • Rutas: Tablas de rutas

Mejores Prácticas

Selección de Protocolos

  1. Evaluar requisitos: Confiabilidad vs velocidad
  2. Considerar seguridad: Cifrado y autenticación
  3. Optimizar rendimiento: Overhead mínimo
  4. Planificar escalabilidad: Crecimiento futuro

Configuración

  1. Puertos: Usar puertos estándar
  2. Timeouts: Configurar timeouts apropiados
  3. Buffers: Ajustar buffers de red
  4. Monitoreo: Implementar monitoreo

Seguridad

  1. Cifrado: Usar protocolos cifrados
  2. Autenticación: Implementar autenticación fuerte
  3. Firewalls: Filtrar tráfico por protocolo
  4. Actualizaciones: Mantener protocolos actualizados

Troubleshooting de Protocolos

Problemas Comunes

  • Timeouts: Configuración de timeouts
  • Puertos bloqueados: Firewalls
  • Versiones incompatibles: Versiones de protocolo
  • Configuración incorrecta: Parámetros mal configurados

Herramientas de Diagnóstico

  • ping: Prueba de conectividad
  • telnet: Prueba de puertos
  • nslookup: Resolución DNS
  • traceroute: Ruta de paquetes

Conceptos Relacionados

Referencias

Glosario

  • PDU: Protocol Data Unit
  • SDU: Service Data Unit
  • MTU: Maximum Transmission Unit
  • MSS: Maximum Segment Size
  • RTT: Round Trip Time
  • RTO: Retransmission Timeout
  • CWND: Congestion Window
  • RWND: Receive Window