Docente: Ing.
Harrison Ochoa Rivas
¿Qué es un socket?
Un socket es un punto final en una conexión de red entre dos
computadoras. Es una abstracción proporcionada por los sistemas
operativos para permitir la comunicación entre procesos, ya sea en
la misma máquina o en diferentes máquinas a través de una red.
Un socket se identifica por una dirección IP y un número de puerto,
lo que permite identificar a qué aplicación va dirigido un paquete de
datos.
Socket TCP
Características Funcionamiento Ejemplo de uso Ejemplo en código
Orientado a conexión: antes de enviar datos, se establece una
conexión mediante un proceso de "handshake" de tres vías
(three-way handshake).
Fiable: garantiza la entrega de los datos en orden y sin pérdidas.
Control de flujo y congestión: regula la cantidad de datos
enviados para evitar sobrecargar la red o el receptor.
Transmisión secuencial: los datos llegan en el mismo orden en
que fueron enviados.
Socket TCP
Características Funcionamiento Ejemplo de uso Ejemplo en código
El cliente crea un socket y se conecta al servidor.
Se realiza un handshake (SYN, SYN-ACK, ACK).
Se intercambian datos.
Se cierra la conexión de forma ordenada.
Socket TCP
Características Funcionamiento Ejemplo de uso Ejemplo en código
Navegadores web (HTTP/HTTPS)
Transferencia de archivos (FTP)
Correo electrónico (SMTP, IMAP, POP3)
Socket TCP
Características Funcionamiento Ejemplo de uso Ejemplo en código
Socket UDP
Características Funcionamiento Ejemplo de uso Ejemplo en código
No orientado a conexión: no se establece una conexión formal.
No fiable: no garantiza entrega ni orden de los datos.
Más rápido que TCP: tiene menos sobrecarga de control.
Transmisión "best effort": los paquetes pueden llegar
desordenados, duplicados o no llegar.
Socket UDP
Características Funcionamiento Ejemplo de uso Ejemplo en código
El emisor envía directamente los datagramas al destino.}
No hay confirmación de recepción.
Si se desea confiabilidad, debe implementarse a nivel de
aplicación.
Socket UDP
Características Funcionamiento Ejemplo de uso Ejemplo en código
Streaming de video/audio (YouTube, Spotify)
Juegos en línea
DNS (Domain Name System)
VoIP (como WhatsApp o Skype)
Socket UDP
Características Funcionamiento Ejemplo de uso Ejemplo en código
TCP vs UDP
Característica TCP UDP
Tipo de conexión Orientado a conexión No orientado a conexión
Fiabilidad Alta Baja
Orden de entrega Garantizado No garantizado
Velocidad Más lento Más rápido
Uso común Web, correo, FTP Streaming, juegos, DNS
Control de flujo Sí No
Tamaño de encabezado Mayor (~20 bytes) Menor (~8 bytes)