¿Qué son los puertos TCP y UDP?
Los puertos son puntos de conexión en un dispositivo que permite la comunicación entre diferentes aplicaciones sobre una red. Cada puerto está identificado por un número de 16 bits, lo que significa que puede tomar valores entre 0 y 65535. Hay dos tipos principales de puertos: los puertos de TCP (Transmission Control Protocol) y los puertos de UDP (User Datagram Protocol).
Funciones de TCP y UDP
- TCP: Proporciona una comunicación confiable y orientada a la conexión. Asegura que los datos sean entregados en el orden correcto y sin pérdidas a través de la verificación de errores.
- UDP: Ofrece un servicio sin conexión y no garantiza la entrega de paquetes. Esto lo hace más rápido y eficiente en situaciones donde la velocidad es crítica y se puede tolerar alguna pérdida de datos, como en el streaming de video o juegos en línea.
Listado de puertos TCP comunes
A continuación, se presenta un listado de algunos de los puertos más utilizados en TCP:
- 20/21: FTP (File Transfer Protocol) – Transferencia de archivos.
- 22: SSH (Secure Shell) – Conexiones seguras a servidores.
- 25: SMTP (Simple Mail Transfer Protocol) – Envío de correo electrónico.
- 53: DNS (Domain Name System) – Resolución de nombres de dominio.
- 80: HTTP (Hypertext Transfer Protocol) – Navegación web.
- 443: HTTPS (HTTP Secure) – Navegación web segura.
- 3306: MySQL – Conexión a bases de datos MySQL.
Listado de puertos UDP comunes
El protocolo UDP también cuenta con un conjunto de puertos que son ampliamente utilizados:
- 53: DNS (Domain Name System) – Resolución de nombres de dominio.
- 67/68: DHCP (Dynamic Host Configuration Protocol) – Asignación dinámica de direcciones IP.
- 69: TFTP (Trivial File Transfer Protocol) – Transferencia de archivos simple.
- 123: NTP (Network Time Protocol) – Sincronización de tiempo.
- 161/162: SNMP (Simple Network Management Protocol) – Monitoreo y gestión de dispositivos de red.
Accede aquí a un listado completo de puerto TCP/UDP
Ejemplo de uso de puertos en programación
Para ilustrar cómo se pueden utilizar estos puertos en programación, aquí hay un ejemplo básico en Python utilizando el módulo socket para crear un cliente y servidor.
Servidor TCP simple
import socket
def servidor_tcp():
servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
servidor.bind(('127.0.0.1', 65432))
servidor.listen()
print("Servidor escuchando en el puerto 65432...")
conn, addr = servidor.accept()
with conn:
print('Conectado por', addr)
while True:
data = conn.recv(1024)
if not data:
break
conn.sendall(data)
servidor_tcp()
Cliente TCP simple
import socket
def cliente_tcp():
cliente = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
cliente.connect(('127.0.0.1', 65432))
cliente.sendall(b'Hola, servidor')
data = cliente.recv(1024)
print('Recibido:', data)
cliente_tcp()
En este ejemplo, el servidor escucha en el puerto 65432 y envía de vuelta cualquier mensaje que reciba del cliente. Esto muestra cómo se pueden abrir puertos para establecer una comunicación entre diferentes aplicaciones.
Conclusión
Conocer el listado de puertos TCP y UDP, así como su funcionalidad, es crucial para el diseño y la implementación de sistemas de red eficientes. Ya sea para asegurar la comunicación en aplicaciones web, transferir archivos o gestionar redes, comprender estos conceptos te permitirá desarrollar soluciones más efectivas y resolver problemas de conectividad de forma ágil.

Deja una respuesta