Arquitectura TCP/IP: Capas, Protocolos y Puertos
Clasificado en Informática
Escrito el en español con un tamaño de 5,51 KB
Bloques Funcionales del Modelo OSI y su Relación con TCP/IP
El modelo OSI (Open Systems Interconnection) define una arquitectura de red en siete capas. TCP/IP, aunque con una estructura diferente, se puede relacionar con este modelo en tres bloques funcionales:
- Bloque de Transmisión: Compuesto por las tres capas inferiores del modelo OSI (Física, Enlace de Datos y Red). Se encarga de la transmisión física de los datos a través del medio de comunicación.
- Bloque de Transporte: Equivalente a la capa de Transporte del modelo OSI. Su función principal es ocultar a las capas superiores el funcionamiento del bloque de transmisión, proporcionando un servicio de comunicación extremo a extremo.
- Bloque de Aplicación: Agrupa las capas superiores del modelo OSI (Sesión, Presentación y Aplicación). Estas capas están más cerca del usuario y de los servicios que este recibe.
Protocolos Principales de la Arquitectura TCP/IP
La arquitectura TCP/IP se compone de diversos protocolos que operan en diferentes capas. A continuación, se enumeran algunos de los más importantes:
- Host a Red: ARP (Address Resolution Protocol), RARP (Reverse Address Resolution Protocol), OSPF (Open Shortest Path First).
- Internet: IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol), IPSec (Internet Protocol Security).
- Transporte: SCTP (Stream Control Transmission Protocol), TCP (Transmission Control Protocol), UDP (User Datagram Protocol).
- Aplicación: IRC (Internet Relay Chat), SSH (Secure Shell), HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol), DHCP (Dynamic Host Configuration Protocol), DNS (Domain Name System), IMAP (Internet Message Access Protocol), POP3 (Post Office Protocol version 3).
Capa de Transporte TCP/IP: Comunicación Extremo a Extremo
La capa de transporte permite la comunicación directa entre dos nodos extremos. Los SAP (Service Access Points) de esta capa se denominan puertos. Un puerto se identifica mediante un número de 16 bits y se asocia a una dirección IP, formando una dirección completa (IP + número de puerto TCP, UDP o SCTP).
Categorías de Puertos
- Puertos Bien Conocidos: Rango de 0 a 1023. Están reservados para servicios estándar y son asignados por la IANA (Internet Assigned Numbers Authority).
- Puertos Registrados: Rango de 1024 a 49151. Pueden ser registrados por empresas para sus aplicaciones específicas.
- Puertos Dinámicos o Privados: Rango de 49152 a 65535. Son utilizados por las aplicaciones de forma temporal y dinámica.
Protocolo TCP: Transmisión Fiable y Orientada a la Conexión
TCP es un protocolo fundamental en la capa de transporte que garantiza el envío de información de forma fiable sobre una red no fiable. Es un protocolo orientado a la conexión y se encarga de la segmentación y el reensamblado ordenado de la información transmitida.
Estructura del Segmento TCP
Un segmento TCP está compuesto por una cabecera TCP y los datos de usuario provenientes de la capa superior. El tamaño máximo por defecto de un segmento TCP es de 536 bytes.
Campos Significativos de la Cabecera TCP
- Puerto Origen: Número del puerto de origen del segmento.
- Puerto Destino: Número del puerto de destino del segmento.
Establecimiento y Cierre de Conexiones TCP
Una conexión TCP establece un canal de comunicación directo entre el emisor y el receptor. Se realiza un acuse de recibo (ACK) de todos los segmentos intercambiados hasta que la conexión se cierra.
Establecimiento de la Conexión TCP: Negociación en Tres Pasos
Para establecer una conexión, el servidor debe realizar una apertura pasiva, es decir, abrir un socket en un puerto TCP específico. TCP utiliza una técnica conocida como negociación en tres pasos:
- SYN: El cliente envía un segmento TCP al servidor con un número de secuencia aleatorio y el flag SYN activado.
- SYN/ACK: El servidor responde con un segmento TCP con los flags SYN y ACK activados. El número de secuencia es aleatorio y el número de acuse de recibo es el número de secuencia del cliente más uno.
- ACK: El cliente envía un segmento TCP con el flag ACK activado. El número de secuencia es el número de acuse de recibo recibido del servidor y el número de acuse de recibo es el número de secuencia del servidor más uno.
Envío de Datos
Una vez establecida la conexión, ambos hosts pueden intercambiar información. El cliente puede incluir datos de aplicación en el segmento ACK que finaliza la negociación. El número de secuencia será el del segmento SYN inicial más uno.
Desconexión o Cierre de la Conexión
La conexión puede finalizar de forma completa o parcial (desconexión a medias). En una desconexión a medias, un host (por ejemplo, el host A) envía su solicitud de desconexión y el otro host (host B) acusa recibo, pero no solicita la desconexión, permitiendo que la comunicación continúe en una sola dirección.