Protocolo TCP/IP: Qué Es, Cómo Funciona y Por Qué Importa
TCP/IP son las siglas de Transmission Control Protocol / Internet Protocol — el conjunto de protocolos que hace posible Internet. Cada correo, cada página web, cada video que ves online viaja usando TCP/IP. Sin estos protocolos, los dispositivos no podrían comunicarse entre sí. Son el lenguaje universal de la red, el estándar que permite que tu teléfono hable con un servidor en Japón y que todo funcione sin que tengas que pensar en ello. En esta guía explicamos cómo funcionan, capa por capa.
¿Qué es TCP/IP?
TCP/IP no es un solo protocolo sino un suite de protocolos — una familia de protocolos que trabajan juntos para permitir la comunicación en red. Los dos más importantes son:
- IP (Internet Protocol): Se encarga de enrutar los paquetes desde el origen hasta el destino. Cada dispositivo tiene una dirección IP única (que puedes ver en miip.link). IP no garantiza la entrega — es un servicio "best effort" que hace lo posible por entregar el paquete pero no confirma si llegó.
- TCP (Transmission Control Protocol): Garantiza que los datos lleguen completos, en orden y sin errores. Si un paquete se pierde, TCP lo reenvía. Si llegan desordenados, TCP los reordena. Es la capa de confiabilidad sobre la que se construyen la mayoría de aplicaciones.
La analogía clásica: IP es el sistema postal (direcciones y rutas), TCP es el mensajero certificado (confirmación de entrega y reenvío). IP se encarga de que la carta llegue a la ciudad correcta; TCP se encarga de que todas las páginas lleguen completas y en orden.
El modelo TCP/IP por capas
TCP/IP organiza la comunicación en 4 capas, cada una con funciones específicas. Este modelo en capas permite que cada capa funcione de forma independiente — puedes cambiar de WiFi a Ethernet sin que las aplicaciones se den cuenta. Para entender qué puertos usa cada servicio, consulta nuestro artículo sobre los puertos más usados:
| Capa | Función | Protocolos | Analogía |
|---|---|---|---|
| Aplicación | Interfaz con el usuario | HTTP, HTTPS, DNS, FTP, SSH, SMTP | El contenido de la carta |
| Transporte | Conexión extremo a extremo | TCP, UDP | Correo certificado vs. postal |
| Internet | Enrutamiento y direccionamiento | IP, ICMP, ARP | La dirección en el sobre |
| Acceso a red | Transmisión física | Ethernet, WiFi, DSL | El camión de correos |
Capa de Aplicación
Es donde interactúan los programas que usas: navegadores, clientes de correo, apps de mensajería. Es la capa más cercana al usuario y la que más notamos en nuestro día a día. Los protocolos más comunes:
- HTTP/HTTPS: Navegación web — ver HTTP vs HTTPS para entender por qué HTTPS es esencial hoy
- DNS: Resolución de nombres de dominio — ver Servidores DNS para entender cómo los nombres se convierten en IPs
- FTP: Transferencia de archivos
- SSH: Acceso remoto seguro
- SMTP/IMAP/POP3: Correo electrónico
Cuando escribes una URL en tu navegador, la capa de aplicación usa DNS para resolver el nombre de dominio, luego HTTP/HTTPS para solicitar la página, y TCP para establecer la conexión confiable.
Capa de Transporte
Esta capa decide cómo se envían los datos y es donde TCP y UDP toman caminos diferentes:
- TCP: Confiable, ordenado, con confirmación. Usa un handshake de 3 vías para establecer la conexión. Ideal para web, correo, transferencia de archivos — todo lo que no puede tolerar pérdida de datos.
- UDP: Rápido, sin confirmación, sin orden. Envía datos sin verificar si llegaron. Ideal para streaming, videojuegos, consultas DNS, VoIP — aplicaciones donde la velocidad importa más que la perfección.
Capa de Internet
IP se encarga de asignar direcciones y enrutar paquetes a través de la red. Cada paquete IP tiene un encabezado con información crítica:
- Dirección IP origen: De dónde viene (tu IP pública)
- Dirección IP destino: A dónde va (la IP del servidor)
- TTL (Time To Live): Número máximo de saltos antes de descartar el paquete — este es el campo que traceroute utiliza para mapear la ruta
- Protocolo: TCP (6) o UDP (17) — indica qué protocolo de transporte está en el paquete
ICMP (el protocolo detrás de ping) también funciona en esta capa, y se usa para mensajes de control y error como "destino inalcanzable" o "TTL excedido".
Capa de Acceso a Red
La capa más baja maneja la transmisión física: Ethernet, WiFi, fibra óptica, etc. Usa direcciones MAC para identificar dispositivos en la red local. Mientras que las direcciones IP son lógicas (pueden cambiar), las direcciones MAC son físicas (están grabadas en la tarjeta de red). El protocolo ARP traduce entre ambas: ARP pregunta "¿quién tiene la IP 192.168.1.5?" y el dispositivo responde con su dirección MAC.
TCP vs OSI: ¿Cuál es la diferencia?
| Modelo TCP/IP | Modelo OSI |
|---|---|
| Aplicación | Aplicación, Presentación, Sesión |
| Transporte | Transporte |
| Internet | Red |
| Acceso a red | Enlace de datos, Física |
El modelo OSI tiene 7 capas y es más teórico — se usa como marco conceptual en educación y certificaciones de red. El modelo TCP/IP tiene 4 capas y es el que realmente se usa en Internet. En la práctica, los profesionales usan terminología OSI (capa 7, capa 4, etc.) aunque implementen TCP/IP. Los ataques de firewall y seguridad también se clasifican por capas OSI.
El handshake de 3 vías de TCP
TCP establece una conexión confiable usando un handshake de 3 vías (three-way handshake). Este proceso garantiza que ambos extremos están listos para comunicarse antes de enviar datos:
- SYN: El cliente envía un paquete SYN (synchronize) al servidor con un número de secuencia inicial. Es como decir "hola, quiero hablar contigo".
- SYN-ACK: El servidor responde con SYN-ACK, confirmando el SYN del cliente y enviando su propio número de secuencia. Es como decir "hola, también quiero hablar contigo".
- ACK: El cliente envía un ACK (acknowledge) confirmando el SYN del servidor. Es como decir "perfecto, empecemos".
Después de estos 3 pasos, la conexión está establecida y los datos pueden fluir en ambas direcciones. Este proceso agrega solo 1 RTT (round-trip time) de latencia, que generalmente es de unos pocos milisegundos.
Cliente Servidor | | |-------- SYN ------------>| Paso 1: "Quiero conectar" | | |<------ SYN-ACK ---------| Paso 2: "Acepto, aquí mi número" | | |-------- ACK ------------>| Paso 3: "Confirmado, empecemos" | | |==== CONEXIÓN ESTABLECIDA ====| | | |-------- datos ---------->| Datos fluyen en ambas direcciones |<------- datos -----------|
Para cerrar la conexión, TCP usa un handshake de 4 vías (FIN, ACK, FIN, ACK), asegurando que ambos lados hayan terminado de enviar datos antes de cerrar.
Cómo TCP garantiza la entrega
TCP usa varios mecanismos para asegurar que los datos lleguen correctamente, y es por eso que es confiable:
- Números de secuencia: Cada byte tiene un número de secuencia, permitiendo reordenar paquetes que llegan desordenados. Si el paquete 3 llega antes que el 2, TCP espera al 2 antes de entregar los datos a la aplicación.
- Checksum: Verifica la integridad de los datos en cada paquete. Si un bit se corrompe durante la transmisión, TCP lo detecta y solicita reenvío.
- ACKs: El receptor confirma cada segmento recibido. Si el emisor no recibe un ACK en un tiempo determinado, asume que el paquete se perdió.
- Retransmisión: Si no recibe ACK en un tiempo, el emisor reenvía el paquete. El tiempo de espera se ajusta dinámicamente según la latencia de la red.
- Control de flujo: Evita que el emisor sature al receptor usando ventanas deslizantes. El receptor le dice al emisor cuántos bytes puede aceptar, y el emisor no envía más de eso.
- Control de congestión: Reduce la velocidad si detecta pérdida de paquetes en la red. TCP empieza lento (slow start) y aumenta gradualmente la velocidad hasta que detecta pérdida, momento en el que reduce a la mitad y vuelve a subir gradualmente.
PUERTOS: Cómo múltiples servicios comparten una IP
Una dirección IP identifica un dispositivo, pero un dispositivo puede ejecutar múltiples servicios simultáneamente. Los puertos (0-65535) permiten diferenciarlos. Piensa en la dirección IP como la dirección de un edificio y los puertos como los números de apartamento dentro de ese edificio:
- Puertos bien conocidos (0-1023): Asignados por IANA para servicios estándar. Solo root/admin puede escuchar en estos puertos. Ejemplos: 80=HTTP, 443=HTTPS, 22=SSH, 21=FTP, 25=SMTP.
- Puertos registrados (1024-49151): Asignados a aplicaciones específicas por IANA. Ejemplos: 3306=MySQL, 5432=PostgreSQL, 5900=VNC, 8080=HTTP alternativo.
- Puertos dinámicos (49152-65535): Asignados temporalmente por el sistema operativo para conexiones salientes. Cuando tu navegador se conecta a un servidor, usa un puerto dinámico de origen.
Cuando visitas miip.link, tu navegador usa un puerto dinámico de origen (ej: 52341) y se conecta al puerto 443 del servidor. El sistema operativo asocia cada conexión con el par (IP:puerto origen, IP:puerto destino), permitiendo miles de conexiones simultáneas sin conflicto. Puedes verificar qué puertos están abiertos con la herramienta de escaneo de puertos.
UDP: El protocolo rápido
A diferencia de TCP, UDP no establece conexión ni confirma la entrega. Es como enviar una postal: la sueltas y esperas que llegue. No hay handshake, no hay retransmisión, no hay control de congestión. Esto lo hace mucho más rápido pero menos confiable:
| Característica | TCP | UDP |
|---|---|---|
| Conexión | Orientado a conexión | Sin conexión |
| Confiabilidad | Garantiza entrega | No garantiza |
| Orden | Ordenado | Sin orden |
| Velocidad | Más lento (overhead) | Más rápido |
| Uso típico | Web, correo, archivos | Streaming, DNS, gaming |
| Handshake | 3 vías | Ninguno |
| Control de congestión | Sí | No |
| Control de flujo | Sí (ventanas deslizantes) | No |
La elección entre TCP y UDP depende de la aplicación: si cada byte importa (transferencia de archivos, web), usa TCP. Si la velocidad importa más que la perfección (streaming de video, llamadas VoIP, juegos online), usa UDP.
Direcciones IP en TCP/IP
Las direcciones IP son fundamentales para el funcionamiento de TCP/IP — sin ellas, los paquetes no sabrían a dónde ir:
- IPv4: 32 bits, formato decimal (ej: 192.168.1.1). Aproximadamente 4.3 mil millones de direcciones — ya agotadas en muchas regiones. Cada dirección tiene 4 octetos separados por puntos, cada uno entre 0 y 255. Para más detalles, consulta IPv4 vs IPv6.
- IPv6: 128 bits, formato hexadecimal (ej: 2001:0db8:85a3::8a2e:0370:7334). 340 sextillones de direcciones — prácticamente ilimitadas. Usa 8 grupos de 4 hexadecimales separados por dos puntos. Ver IPv4 vs IPv6 para la comparación completa.
- IP pública: Visible en Internet, asignada por tu ISP. Es la dirección que ven los servidores cuando te conectas. La puedes ver en miip.link.
- IP privada: Solo visible en tu red local (192.168.x.x, 10.x.x.x, 172.16-31.x.x). Tu router usa NAT para traducir entre tu IP privada y la pública. Más detalles en IP pública vs privada.
Enrutamiento en TCP/IP
Cuando envías datos a un servidor remoto, los paquetes no van directo sino a través de múltiples routers. Cada router decide el siguiente salto basándose en su tabla de enrutamiento:
- Tu dispositivo envía el paquete al gateway predeterminado (tu router)
- El gateway envía el paquete al siguiente router según su tabla de enrutamiento
- Cada router decide el siguiente salto basándose en la dirección IP destino
- El paquete llega al servidor destino
Puedes ver la ruta exacta con traceroute. Cada router en el camino decrementa el campo TTL en 1, y si llega a 0, el paquete se descarta (esto evita que los paquetes circulen infinitamente si hay un bucle de enrutamiento).
Fragmentación de paquetes
Cuando un paquete IP es demasiado grande para la red por la que va a pasar, se fragmenta en piezas más pequeñas. Cada fragmento viaja independientemente y se reensambla en el destino final:
- La MTU (Maximum Transmission Unit) define el tamaño máximo de paquete para cada red — típicamente 1500 bytes en Ethernet
- Si un paquete es más grande que la MTU, se fragmenta
- Los fragmentos se reensamblan en el destino usando los campos de offset y bandera del encabezado IP
- El bit "Don't Fragment" (DF) prohíbe la fragmentación — si un paquete con DF no cabe, se descarta y se envía un ICMP "Fragmentation Needed"
La fragmentación reduce el rendimiento porque cada fragmento debe esperar a los demás para reensamblarse. El descubrimiento de MTU de camino (Path MTU Discovery) ayuda a evitar fragmentación ajustando el tamaño de los paquetes desde el inicio.
Protocolos de la capa de aplicación más usados
| Protocolo | Puerto | Uso | TCP/UDP |
|---|---|---|---|
| HTTP | 80 | Páginas web | TCP |
| HTTPS | 443 | Páginas web seguras | TCP |
| DNS | 53 | Resolución de nombres | TCP/UDP |
| FTP | 20/21 | Transferencia de archivos | TCP |
| SSH | 22 | Acceso remoto seguro | TCP |
| SMTP | 25/587 | Envío de correo | TCP |
| IMAP | 143/993 | Recepción de correo | TCP |
| DHCP | 67/68 | Asignación de IPs | UDP |
| NTP | 123 | Sincronización de tiempo | UDP |
| SNMP | 161/162 | Monitorización de red | UDP |
Preguntas frecuentes
¿TCP/IP es lo mismo que Internet?
No. TCP/IP es el conjunto de protocolos que permite la comunicación. Internet es la red global que usa TCP/IP. Puedes tener redes TCP/IP sin acceso a Internet (redes locales, redes corporativas). De hecho, muchas redes internas de empresas usan TCP/IP sin tener conexión directa a Internet.
¿Puedo usar TCP y UDP al mismo tiempo?
Sí, y la mayoría de las aplicaciones lo hacen. Por ejemplo, una app de videoconferencia usa UDP para el video (velocidad) y TCP para el chat (confiabilidad). Los juegos online usan UDP para el movimiento de los jugadores (velocidad) y TCP para el chat y la tienda (confiabilidad).
¿Qué pasa si un paquete se pierde?
En TCP, el receptor no envía ACK y el emisor reenvía el paquete después de un timeout. El timeout se ajusta dinámicamente según la latencia observada (RTT). En UDP, el paquete se pierde y la aplicación decide si lo necesita. Para streaming de video, perder un frame es imperceptible; para una transferencia de archivos, perder un byte es inaceptable.
¿Por qué mi IP cambia?
La mayoría de los ISPs asignan IPs dinámicas que cambian periódicamente usando DHCP. Esto es normal y no afecta tu navegación porque los servidores DNS resuelven nombres de dominio, no direcciones IP. Lee más sobre IP dinámica vs estática.
¿Qué es el NAT y cómo se relaciona con TCP/IP?
NAT (Network Address Translation) traduce entre direcciones IP privadas y públicas. Cuando tu dispositivo (con IP privada 192.168.1.5) envía un paquete a Internet, tu router NAT reemplaza la IP privada con tu IP pública. Cuando llega la respuesta, el router hace la traducción inversa. Esto permite que miles de dispositivos compartan una sola IP pública. Más información en IP pública vs privada. Puedes ocultar tu IP pública con una VPN para mayor privacidad.
¿Quieres ver tu IP?
Visita miip.link para ver tu dirección IP, tipo de conexión, ISP y más detalles de tu red. También explora nuestras herramientas de red y artículos del blog.