Introducción a TCP/IP

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: https://www.alcancelibre.org

Licencia Creative Commons
© 1999-2026 Joel Barrios Dueñas. Este manual se distribuye bajo la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0). Usted es libre de compartir y adaptar el material bajo los siguientes términos: debe dar crédito al autor, no puede utilizarlo para fines comerciales y debe compartir las obras derivadas bajo la misma licencia. La licencia completa está disponible en https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.es.

Introducción

Este documento proporciona una base teórica esencial sobre el conjunto de protocolos que hace posible la comunicación en redes modernas, incluida Internet.

TCP/IP fue desarrollado y presentado por el Departamento de Defensa de EE.UU. en 1972 y se aplicó en ARPANET (Advanced Research Projects Agency Network), la red de área extensa del Departamento de Defensa, como medio de comunicación para los diferentes organismos de EE.UU. La transición hacia TCP/IP en ARPANET se concretó en 1983.

Se conoce como familia de protocolos de Internet al conjunto de protocolos de red que se implementan por la pila de protocolos sobre los cuales se fundamenta Internet y que permiten la transmisión de datos entre las redes de computadoras.

Los dos protocolos más importantes y que fueron también los primeros en definirse, además de los más utilizados, son TCP (Protocolo de Control de Transmisión o Transmission Control Protocol) e IP (Protocolo de Internet o Internet Protocol), de ahí que se denomine también como Conjunto de Protocolos TCP/IP. Los tipos de protocolos existentes superan los cien, entre los cuales podemos mencionar como los más conocidos a HTTP, FTP, SMTP, POP, ARP, etc.

TCP/IP es la plataforma que sostiene Internet y que permite la comunicación entre diferentes sistemas operativos en diferentes computadoras, ya sea sobre redes de área local (LAN) o redes de área extensa (WAN).

Niveles de pila

La arquitectura en capas de los protocolos de red facilita la comprensión de sus funciones. A continuación, se presenta una comparativa entre los dos modelos de referencia más importantes.

En la actualidad continúa la discusión respecto a si el modelo TCP/IP de cinco niveles encaja dentro del modelo OSI (Interconexión de Sistemas Abiertos u Open Systems Interconnection) de siete niveles.

Modelo Niveles
TCP/IP 5 Aplicación
4 Transporte
3 Red
2 Enlace
1 Físico.
OSI 7 Aplicación
6 Presentación
5 Sesión
4 Transporte
3 Red
2 Enlace de datos
1 Físico

Modelo TCP/IP

El modelo TCP/IP utiliza encapsulamiento para proveer la abstracción de protocolos y servicios hacia diferentes capas en la pila. La pila consiste de cinco niveles, cada uno con responsabilidades específicas.

Nivel Nombre Descripción
5 Aplicación. Se compone de diversos protocolos de servicios como:
DNS (Domain Name System)
TLS/SSL (Transport Layer Security)
TFTP (Trivial File Transfer Protocol)
FTP (File Transfer Protocol)
HTTP (Hyper Text Transfer Protocol)
IMAP (Internet Messsage Access Protocol)
IRC (Internet Relay Chat)
NNTP (Network News Transfer Protocol)
POP3 (Post Office Protocol)
SIP (Session Initiation Protocol)
SMTP (Simple Mail Transfer Protocol)
SNMP (Simple Network Management Protcol)
SSH (Secure Shell)
TELNET
BitTorrent
RTP (Real-time Transport Protocol)
rlogin
ENRP (Endpoint Handlespace Redundancy Protocol)

Los protocolos de encaminamiento como BGP (Border Gateway Protocol) y RIP (Routing Information Protocol) que utilizan transporte por TCP y UDP respectivamente pueden considerarse parte de esta capa.
4 Transporte. Se compone de diversos protocolos de servicios como:
TCP (Transmision Control Protocol)
UDP (User Datagram Protocol)
DCCP (Datagram Congestion Control Protocol)
SCTP (Stream Control Transmision Protococol)
IL (Internet Link Protocol, similar a TCP pero más simple)
RUDP (Reliable User Datagram Protocol), etc.

Los protocolos como OSPF (Open Shortest Path First), que corren sobre IP, pueden también considerarse parte de esta capa. ICMP (Internet Control Message Protocol) e IGMP (Internet Group Management Protocol), que también utilizan IP, pueden considerarse parte del Nivel de Red.
3 Red. Se compone de diversos protocolos de servicios como IP (incluyendo IPv4 e IPv6). Protocolos como ARP (Address Resolution Protocol) y RARP (Reverse Address Resolution Protocol) operan por debajo de IP, pero arriba del Nivel de Enlace, de modo que pertenecen a un punto intermedio entre el Nivel de Red y el Nivel de Enlace.
2 Enlace. Compuesto de protocolos como:
Ethernet
Wi-Fi
Token ring
PPP (Point-to-Point Protocol)
SLIP (Serial Line Internet Protocol)
FDDI (Fiber Distributed Data Interface)
ATM (Asynchronous Transfer Protocol)
Frame Relay
SMDS (Switched Multi-megabit Data Services)
1 Físico. Medio físico.

Los niveles más altos son los más cercanos al usuario, mientras que los que están más hacia abajo están más cercanos a la transmisión física de los datos. Salvo por evidentes razones en el primer y último niveles, cada nivel tiene un nivel superior y un nivel inferior que, respectivamente, o bien utilizan un servicio del nivel o proveen un servicio. Un método de abstracción para entender esto es mirar los niveles como proveedores o consumidores de servicios. Ejemplo: TCP en el nivel de transporte requiere un protocolo del nivel de Red, como sería IPv4, el cual a su vez requiere de un protocolo del nivel de enlace, siendo TCP un proveedor de servicio para los protocolos del nivel de aplicación.

Nivel de aplicación

Este nivel es el punto de contacto entre los programas de usuario y la red. Es el que utilizan los programas de red más comunes a fin de comunicarse a través de una red. La comunicación que se presenta en este nivel es específica de las aplicaciones y los datos transportados desde el programa están en el formato utilizado por la aplicación y van encapsulados en un protocolo del Nivel de Transporte.

Dado que el modelo TCP/IP carece de niveles intermedios, el nivel de Aplicación debe incluir cualquier protocolo que actúe del mismo modo que los protocolos del Nivel de Presentación y Nivel de Sesión del Modelo OSI. Los protocolos del Nivel de Transporte más comúnmente utilizados son TCP y UDP, mismos que requieren un puerto disponible y específico para el servicio para los servidores y puertos efímeros. Aunque los encaminadores (routers) e interruptores (switches) no utilizan este nivel, las aplicaciones que controlan el ancho de banda sí lo utilizan.

Nivel de Transporte

Este nivel se encarga de la comunicación lógica entre aplicaciones que se ejecutan en diferentes equipos. Principalmente provee lo necesario para conectar aplicaciones entre sí a través de puertos. Mientras que IP (Internet Protocol), del Nivel de Red, provee solamente la mejor forma de entrega, el nivel de transporte es el primer nivel que se encarga de la fiabilidad. De entre todos los protocolos de este nivel, tanto TCP como UDP se utilizan para transportar un gran número de aplicaciones de alto nivel. Las aplicaciones en cualquier nivel se distinguen a través de los puertos TCP o UDP que utilicen.

TCP

Este protocolo es el mejor ejemplo del nivel transporte. Es un protocolo orientado hacia conexión que resuelve numerosos problemas de fiabilidad para proveer una transmisión de bytes fiable, ya que se encarga de que los datos lleguen en orden, tenga un mínimo de correcciones de errores, se descarten datos duplicados, se vuelvan a enviar los paquetes perdidos o descartados e incluya control de congestión de tráfico.

Las conexiones a través de TCP tienen tres fases:

Fase Descripción
Establecimiento de la conexión. Antes de que el cliente intente conectarse con el servidor, éste último debe primero ligarse hacia el puerto para abrirlo para las conexiones, es decir, una apertura pasiva. Una vez establecida, el cliente puede iniciar la apertura activa. Se requiere de un saludo de tres etapas:
I. La apertura activa se realiza enviando un paquete SYN (sincroniza) hacia el servidor.
II. En respuesta, el servidor responde con un paquete SYN-ACK (conformación de sincronización).
III. Finalmente el cliente envía un paquete ACK (confirmación) de regreso hacia el servidor.

En este punto tanto cliente como servidor han recibido una conformación de la conexión.
Transferencia de datos. Hay varias funciones clave que diferencian a TCP de UDP:
• Transferencia de datos libre de errores.
• Transferencia de datos ordenada.
• Retransmisión de paquetes perdidos.
• Descartado de paquetes duplicados.
• Ajuste en la congestión de la transmisión de datos.
Terminación de la conexión. Una terminación completa y ordenada ―conocida como cierre correcto (graceful shutdown)― es un proceso de cuatro pasos (four-way handshake). Cada extremo cierra su canal de transmisión de manera independiente:
1. El extremo que inicia el cierre envía un segmento FIN.
2. El receptor responde con un ACK para ese FIN.
3. Cuando el receptor está listo, envía su propio segmento FIN.
4. El iniciador original responde con un ACK final.

Existe también un cierre abrupto (abrupt shutdown), donde un extremo envía un segmento RST (Restablecer). Esto libera los recursos de la conexión de inmediato, pero impide garantizar la recepción de todos los datos pendientes.

TCP realiza las siguientes etapas en su zócalo (socket):

  1. LISTEN
  2. SYN-SENT
  3. SYN-RECEIVED
  4. ESTABLISHED
  5. FIN-WAIT-1
  6. FIN-WAIT-2
  7. CLOSE-WAIT
  8. CLOSING
  9. LAST-ACK
  10. TIME-WAIT
  11. CLOSED

LISTEN representa la conexión en espera de peticiones desde cualquier puerto TCP remoto. SYN-SENT representa la espera del TCP remoto para enviar de regreso el paquete TCP estableciendo banderas SYN y ACK. SYN-RECIVED representa la espera para el TCP remoto para enviar de regreso la confirmación después de haber enviado de regreso otra confirmación de conexión al TCP remoto (establecido por el servidor TCP). ESTABLISHED representa que el puerto está listo para recibir/enviar datos desde/hacia el TCP remoto (lo hacen tanto clientes como servidores TCP).

Tras el último ACK del cierre de cuatro pasos, el extremo entra en el estado TIME-WAIT. Su propósito es garantizar que cualquier segmento rezagado en la red se descarte correctamente y evitar que se confunda con una conexión nueva. Este estado tiene una duración típica de 4 minutos (2 MSL, donde MSL es el Tiempo Máximo de Vida del Segmento), tras los cuales el puerto se libera y el estado cambia a CLOSED.

UDP

UDP, a veces referido sarcásticamente como Unreliable Datagram Protocol (Protocolo no fiable de datagrama), es un protocolo de datagrama sin corrección; carece de las garantías de fiabilidad y ordenamiento de TCP para los protocolos del Nivel de Aplicación y los datagramas pueden llegar en desorden o perderse sin notificación. Como consecuencia de lo anterior es que UDP es un protocolo más rápido y eficiente para tareas ligeras o sensibles al tiempo, pues provee una interfaz muy simple entre el Nivel de Red y Nivel de Aplicación. Si se requiere algún tipo de fiabilidad para los datos transmitidos, ésta debe implementarse en los niveles superiores de la pila.

Al igual que IP y a diferencia de TCP, es un protocolo de mejor esfuerzo o no-fiable. El único problema de fiabilidad que resuelve es la corrección de errores en la cabecera y datos transmitidos a través de un campo de 16 bits para suma de verificación (checksum), una forma de control de redundancia con la finalidad de proteger la integridad de datos verificando que no hayan sido corrompidos.

La estructura de paquetes UDP consiste de 4 campos:

Las aplicaciones más comunes que hacen uso de este tipo de protocolo son DNS, aplicaciones de transmisión de medios, voz sobre IP (VoIP), TFTP y juegos en línea.

SCTP

SCTP es un mecanismo de transporte fiable orientado hacia conexión. Está orientado también hacia transmisión de datos pero no está orientado hacia bytes como TCP. Provee múltiples transmisiones distribuidos sobre una misma conexión. Puede además representar una conexión con múltiples direcciones IP de modo que si una IP falla, la conexión no se interrumpe. Se desarrolló inicialmente para aplicaciones de telefonía pero se puede utilizar en otras aplicaciones.

DCCP

DCCP se encuentra en fase de desarrollo y bajo la tutela de la IETF (Internet Engineering Task Force) que pretende proveer la semántica de control de flujo de TCP y el modelo de servicio de datagrama de UDP a la vista del usuario.

RTP

RTP es un protocolo de datagrama que se diseñó para datos en tiempo real como la transmisión de audio y vídeo. Es un nivel de sesión que utiliza el formato de paquetes de UDP como base. Sin embargo, se considera que pudiera acomodarse debajo del nivel de transporte del modelo TCP/IP.

Nivel de Red

Este nivel es responsable del direccionamiento y enrutamiento lógico de los datos a través de la red. Resuelve el problema de capturar los datos a través de una red única. IP (Internet Protocol) realiza la tarea básica de capturar los paquetes de datos desde una fuente hacia un destino. IP puede transportar datos para una gran cantidad de protocolos del nivel superior (Nivel de Transporte). Otro ejemplo de protocolo de este nivel es X.25, que es un conjunto de protocolos para redes WAN utilizando líneas telefónicas o sistema ISDN.

Nivel de Enlace

Este nivel maneja la comunicación entre dispositivos directamente conectados en el mismo segmento de red. En realidad, no es parte del Conjunto de Protocolos TCP/IP, sino que es el método utilizado para pasar paquetes desde el Nivel de Red entre dos diferentes anfitriones. Este proceso puede controlarse a través de equipamiento lógico (software) utilizado como controlador del dispositivo (driver) para una tarjeta de red, así como también sobre la Programación en firme (firmware) o circuitos integrados auxiliares (chipsets). Estos procesos realizarán funciones de enlace de datos tales como añadir una cabecera de paquete para preparar la transmisión y entonces transmitir el todo a través de un medio físico.

Este nivel es donde los paquetes se interceptan y envían hacia una Red Privada Virtual (VPN). Cuando esto se lleva a acabo, los datos del Nivel de Enlace se consideran como los datos de la aplicación y procede descendiendo por la pila del modelo TCP/IP para realizar la verdadera transmisión. En el extremo receptor, los datos suben por la pila del modelo TCP/IP dos veces, una para la VPN y otra para el encaminamiento (routing).

Nivel Físico

Este nivel define los medios materiales para la transmisión de bits. Al igual que el Nivel de Enlace, en realidad no es parte del Conjunto de Protocolos TCP/IP. Contempla todas las características físicas de la comunicación como la naturaleza del medio, detalles de conectores, código de canales y modulación, potencias de señal, longitudes de onda, sincronización, tiempo de vida y distancias máximas.

Modelo OSI

El modelo de referencia OSI ofrece una visión más detallada y teórica de la comunicación en red, útil para el aprendizaje y la estandarización.

El Conjunto de Protocolos TCP/IP (y su correspondiente pila) se utilizaron antes de que se estableciera el modelo OSI (Interconexión de Sistemas Abiertos u Open Systems Interconnection) y desde entonces el modelo TCP/IP se ha comparado con el modelo OSI tanto en libros como en instituciones educativas. Ambos se relacionan pero no son equiparables. El modelo OSI utiliza siete niveles, mientras que el modelo TCP/IP utiliza cinco niveles. Los dos niveles que hacen la diferencia en el Modelo OSI son el Nivel de Presentación y el Nivel de Sesión, mismos que podrían ser equivalentes al Nivel de Aplicación del modelo TCP/IP.

Del mismo modo que la pila del modelo TCP/IP, el modelo OSI no es lo suficientemente diverso en los niveles inferiores para abarcar las verdaderas capacidades del Conjunto de Protocolos TCP/IP. Un claro ejemplo es que falta un nivel intermedio para acomodar entre el Nivel de Red y el Nivel de Transporte para poder determinar donde corresponden los protocolos ICMP e IGMP y otro nivel intermedio entre el Nivel de Red y el Nivel de Transporte para determinar donde corresponden los protocolos ARP y RARP.

Nivel Nombre Descripción
7 Aplicación HTTP, SMTP, SNMP, FTP, Telnet, SIP, SSH, NFS, RTSP, XMPP (Extensible Messaging and Presence Protocol), Whois, ENRP Telnet.
6 Presentación XDR (External Data Representation), ASN.1 (Abstract Syntax Notation 1), SMB (Server Message Block), AFP (Apple Filing Protocol), NCP (NetWare Core Protocol)
5 Sesión ASAP (Aggregate Server Access Protocol), TLS, SSH, ISO 8327 / CCITT X.225, RPC (Remote Procedure Call), NetBIOS, ASP (Appletalk Session Protocol), Winsock, BSD sockets
4 Transporte TCP, UDP, RTP, SCTP, SPX, ATP, IL
3 Red IP, ICMP, IGMP, X.25, CLNP, ARP, RARP, BGP, OSPF, RIP, IGRP, EIGRP, IPX, DDP.
2 Enlace de datos Ethernet, Token ring, HDLC, Frame relay, ISDN, ATM, 802.11 WiFi, FDDI, PPP
1 Físico Define todas las especificaciones físicas y eléctricas de los dispositivos, como son disposición de pines, voltajes, especificaciones de cableado, concentradores, repetidores, adaptadores de red, etc.

Cable, Radio, fibra óptica, Red por palomas.

Los niveles 7 al 4 se clasifican como niveles de anfitrión, mientras que los niveles inferiores del 1 al 3 se clasifican como niveles de medios.

Herramientas de diagnóstico y vínculo con la práctica

La comprensión teórica de TCP/IP resulta fundamental para aplicar estos conocimientos en la administración real de sistemas. Para la supervisión y diagnóstico de problemas de red, existen numerosas herramientas de línea de mandatos que permiten observar el funcionamiento de los protocolos aquí descritos. Algunas de las más comunes incluyen netstat o ss para examinar conexiones y puertos, traceroute para seguir la ruta de los paquetes, y tcpdump o wireshark para un análisis profundo del tráfico de red. Su uso detallado se trata en otros manuales prácticos de la colección.

Estos conceptos teóricos sobre los niveles de red y transporte tienen una aplicación directa en la configuración de seguridad perimetral. Por ejemplo, el muro cortafuegos (firewall) moderno FirewallD, que es el estándar en las distribuciones basadas en RHEL y ALDOS, opera precisamente filtrando y gestionando paquetes en los niveles de Red (direcciones IP, protocolos) y Transporte (puertos TCP/UDP). Las reglas que se crean en FirewallD son la implementación práctica de los principios de encapsulamiento y control de acceso explicados en este documento, lo que permite construir defensas de red efectivas siguiendo una política de «lista blanca». Puedes aprender a configurarlo en el manual Configuración de FirewallD.