Lección 22: UDP Datagrams — sendto y recvfrom
A diferencia de TCP, UDP (User Datagram Protocol) no establece una conexión, no garantiza el orden ni garantiza la entrega. Suena como una desventaja — pero precisamente por eso UDP es más rápido y simple, adecuado para escenarios donde se puede tolerar perder un packet aislado pero no se puede paga
UDP es como enviar una postal: escribes la dirección, la echas al buzón — y listo, sin confirmación de que llegó y sin saber si otra postal la adelantó. TCP, en cambio, es un paquete con seguimiento, confirmación de firma y seguro. Para métricas de GPU que se envían cada segundo, una postal barata y rápida es más que suficiente.
- UDP
- Un protocolo de transporte sin conexión (connectionless). Envía datagramas sin establecer conexión, sin garantía de orden ni de entrega. Más rápido y simple que TCP.
- sendto()
- Envía un datagrama UDP a una dirección de destino especificada en cada llamada. A diferencia de send(), no requiere una conexión previa.
- recvfrom()
- Recibe un datagrama UDP y devuelve tanto los datos como la dirección del remitente. Permite enviar una respuesta al remitente específico.
- datagram
- Una unidad de información independiente en UDP. Cada datagrama contiene dirección de origen, dirección de destino y datos. Es independiente de datagramas anteriores o futuros.
- sin conexión (connectionless)
- Un modelo de comunicación en el que cada mensaje es independiente y no hay proceso de establecimiento de conexión (handshake). UDP es connectionless; TCP es orientado a conexión (connection-oriented).