Cargando aplicación...
Preparando tu experiencia meskeIA
Visualiza el three-way handshake que establece cada conexión TCP en internet
Todo sobre el establecimiento de conexiones TCP, números de secuencia y comparativa de protocolos
TCP (Transmission Control Protocol) garantiza entrega ordenada y sin errores usando un proceso de establecimiento en 3 pasos: el cliente envía SYN con su Número de Secuencia Inicial (ISN), el servidor responde con SYN-ACK (su ISN + confirmación), y el cliente confirma con ACK. Los ISN son aleatorios para evitar ataques de predicción de secuencia. El cierre requiere 4 pasos porque cada dirección se cierra independientemente.
| Protocolo | Conexión | Fiabilidad | Orden | Velocidad | Uso típico |
|---|---|---|---|---|---|
| TCP | 3-way handshake | Garantizada | Garantizado | Moderada | HTTP/S, SSH, FTP, correo |
| UDP | Sin conexión | No garantizada | No garantizado | Alta | DNS, streaming, juegos online |
| QUIC | 1-RTT (TLS integrado) | Garantizada | Garantizado | Alta | HTTP/3, YouTube, Google |
| SCTP | 4-way handshake | Garantizada | Configurable | Moderada | VoIP, telecomunicaciones |
| WebSockets | Sobre TCP+HTTP upgrade | Garantizada | Garantizado | Moderada | Chat en tiempo real |
| ICMP | Sin conexión | No garantizada | No aplicable | Muy alta | ping, traceroute, errores de red |
ISN cliente 1000, ISN servidor 5000 → 3 pasos perfectos + conexión establecida. La secuencia ideal para entender el protocolo básico.
Los 7 pasos (apertura 3-way + cierre 4-way FIN) del ciclo de vida completo de una conexión TCP. Activa el modo "Apertura + Cierre".
Los ISN son aleatorios para prevenir ataques de predicción de secuencia (IP spoofing). Pulsa "ISN Aleatorio" y observa cómo cambian los números.
Un atacante envía miles de SYN sin completar el handshake: el servidor mantiene conexiones "half-open" hasta agotar recursos. La defensa usa SYN cookies.
Con 2 pasos solo el servidor confirmaría al cliente; el tercer ACK permite al cliente confirmar que el servidor recibió el SYN-ACK. Sin ese tercer paso, el servidor no sabría si el cliente recibió su respuesta: ambos extremos necesitan confirmación bidireccional.
Initial Sequence Numbers: identifican el byte inicial de cada flujo. Si fueran predecibles (como 0 o 1), un atacante podría inyectar paquetes falsos haciéndose pasar por la fuente legítima (IP spoofing). La aleatoriedad hace que sea estadísticamente imposible adivinar el ISN correcto.
Porque TCP es full-duplex: cada dirección cierra su flujo independientemente con su propio FIN. El servidor puede seguir enviando datos tras recibir el FIN del cliente antes de cerrar su propio lado. Por eso FIN-ACK y FIN-servidor son pasos separados.
SYN-ACK es un solo paquete con ambos flags activos simultáneamente: optimización de red que reduce la latencia del handshake. El servidor confirma el SYN del cliente y envía su propio SYN en un único viaje de red en lugar de dos.
Estado tras el último ACK del cierre que espera posibles paquetes duplicados rezagados. MSL (Maximum Segment Lifetime) ≈ 60 segundos. TIME_WAIT dura 2×MSL ≈ 120s para garantizar que ningún paquete de la conexión anterior pueda confundirse con una conexión nueva al mismo puerto.
El SYN "consume" un número de secuencia (como si fuera 1 byte de datos), por eso ack = seq + 1 y no seq.
TCP permite flujo de datos en ambas direcciones simultáneamente tras el handshake: uploads y downloads ocurren en paralelo.
HTTPS = TCP handshake (3 pasos) + TLS handshake + HTTP. QUIC (HTTP/3) combina ambos en 1 RTT para reducir latencia.
HTTP/3 usa QUIC (sobre UDP) que combina el handshake TCP+TLS en 1 RTT. YouTube y Google ya usan QUIC para millones de conexiones.