Socket
Un socket es un extremo de comunicación de red identificado por (protocolo, IP local, puerto local, IP remota, puerto remoto), que sirve de interfaz entre las capas de aplicación y de transporte.
Propósito
Da a las aplicaciones un extremo de comunicación abstracto que oculta los detalles del protocolo subyacente.
Mecanismo
La API de sockets: socket() crea, bind() asigna una dirección, listen() pone un servidor a escuchar, accept() toma una conexión, connect() marca desde el cliente, send()/recv() transfieren datos y close() cierra. Los sockets TCP tienen una máquina de estados; UDP es sin conexión.
Casos de uso
- Servidores y clientes de red
- Conexiones a bases de datos
- Comunicación WebSocket
- Sockets de dominio Unix (IPC local)
Ejemplos
- entrada
(TCP, 0.0.0.0:8080, client:1234)OutputOne connected TCP socketThe five-tuple
Errores comunes
- Unclosed sockets exhaust available ports
- Use SO_REUSEADDR or close sockets promptly
Términos relacionados
Port
Un puerto es una dirección de 16 bits de la capa de transporte (0-65535) que distingue múltiples aplicaciones de red en un mismo host; combinado con la dirección IP forma un socket. GLOSARIO
TCP
TCP (Protocolo de Control de Transmisión) es un protocolo de transporte orientado a conexión, fiable y ordenado; establece conexiones con un apretón de manos de tres vías y ofrece control de flujo por ventana deslizante y acuses de recibo basados en ACK. GLOSARIO
UDP
UDP (Protocolo de Datagramas de Usuario) es un protocolo de transporte sin conexión, no fiable y sin orden, con bajo coste y retardo mínimo, apto para tráfico en tiempo real y difusión. GLOSARIO
IP Address
Una dirección IP es el identificador numérico asignado a una interfaz de red —32 bits para IPv4 (cuatro octetos decimales) y 128 bits para IPv6 (ocho grupos hexadecimales)— usado para el direccionamiento de red. GLOSARIO