Protocolos TCP y UDP

1. Introducción

TCP (Transmission Control Protocol) y UDP (User Datagram Protocol) son dos protocolos de comunicación que operan en la capa de transporte del modelo OSI y TCP/IP.

2. Diferencias entre TCP y UDP

Característica TCP UDP
Conexión Orientado a conexión Sin conexión
Fiabilidad Garantiza la entrega de datos No garantiza la entrega
Velocidad Más lento (por control de errores) Más rápido
Uso Web, correo, transferencia de archivos Streaming, VoIP, juegos en línea

3. ¿Qué es un socket?

Un socket es un punto de comunicación entre dos dispositivos en una red. Se define por una dirección IP y un número de puerto.

Ejemplo de socket: 192.168.1.100:8080

4. Programación con sockets

Ejemplo en Python

Servidor TCP

import socket

server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("127.0.0.1", 12345))
server.listen(1)
print("Esperando conexión...")
conn, addr = server.accept()
print(f"Conectado con {addr}")
conn.sendall(b"Hola, cliente!")
conn.close()

Cliente TCP

import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("127.0.0.1", 12345))
mensaje = client.recv(1024)
print("Servidor dice:", mensaje.decode())
client.close()

5. Conclusión

TCP es más seguro y fiable, mientras que UDP es más rápido y eficiente para ciertos usos. Los sockets permiten la comunicación entre dispositivos a través de redes.