Principales puertos TCP y UDP y para qué sirven cada uno de ellos

Hoy en día casi todo el mundo en su domicilio, trabajo, o lugar de ocio, dispone de conexión a internet a través de un router. Para comunicarnos extremo a extremo necesitamos usar lo que denomina puerto, ya que TCP y UDP se ubican en la capa de transporte de la pila de protocolos TCP/IP. Hay una serie de puertos bien conocidos que sirven para aplicaciones específicas, y otros puertos que son utilizados por diferentes software como juegos, servicios online etc. Hoy en RedesZone veremos los puertos más usados, qué aplicación los usa y para qué sirven.

Cualquier aplicación o servicio que usemos, desde videojuegos, gestores de correo electrónico, mensajería instantánea o incluso el propio sistema operativo, siempre tienen una serie de puertos abiertos transmitiendo o escuchando lo que sucede a su alrededor.

Los puertos pueden ser de dos tipos diferentes, dependiendo del protocolo de la capa de transporte que se utilice. El protocolo TCP es un protocolo conectivo, fiable y orientado a conexión, se encarga de que lleguen todos los segmentos correctamente, y realiza las retransmisiones necesarias en caso de que ocurra algún tipo de problema, además, también garantiza el orden, por lo que las capas superiores no tienen que encargarse de ello. UDP es un protocolo no orientado a conexión, no es fiable, no garantiza que lleguen los paquetes ni tampoco su orden, para ello las capas superiores (capa de aplicación) garantizarán esto.

Una vez que ya conocemos las principales características de TCP y de UDP, veamos cuáles son los principales puertos que usamos a diario, para que son y para qué sirven:

Principales puertos TCP

Cuando necesitamos acceder a un servicio desde Internet, es totalmente necesario abrir un puerto en nuestro router. Actualmente disponemos de dos protocolos en la capa de transporte, TCP y UDP, por tanto, dependiendo del tipo de servicio que queramos utilizar, tendremos que abrir el puerto TCP o UDP, aunque también podría haber servicios que necesiten abrir un puerto TCP y UDP simultáneamente.

El protocolo TCP es un protocolo conectivo, fiable y orientado a conexión, esto significa que es capaz de retransmitir los segmentos de paquetes en caso de que haya alguna pérdida desde el origen al destino. El protocolo TCP para establecer la conexión realiza el 3-way handshake, con el objetivo de que la conexión sea lo más fiable posible. Si estamos utilizando algún protocolo en la capa de aplicación como HTTP, FTP o SSH que todos ellos utilizan el protocolo TCP, en la primera comunicación se realizará este intercambio de mensajes.

Si vas a montar en tu casa, oficina o empresa algún tipo de servidor, como un servidor FTP, SSH o OpenVPN, entonces deberás abrir uno o varios puertos para poder hacer uso de estos servicios y acceder desde Internet. Actualmente todos los routers hacen NAT con la IP pública, por tanto, es completamente necesario abrir puertos en la NAT, o mejor dicho, realizar el reenvío de puertos (port forwarding) para que sean accesibles desde Internet. A continuación, podrás ver un completo listado de los principales puertos TCP que usan muchos protocolos de la capa de aplicación y también aplicaciones:

  • Puerto 0: TCP en realidad no usa el puerto 0 para la comunicación de red, pero este puerto es bien conocido por los programadores de redes. Los programas de socket TCP usan el puerto 0 por convención para solicitar que el sistema operativo elija y asigne un puerto disponible. Esto evita que un programador tenga que elegir («codificar») un número de puerto que podría no funcionar bien para la situación.
  • Puerto 21: El puerto 21 por norma general se usa para las conexiones a servidores FTP en su canal de control, siempre que no hayamos cambiado el puerto de escucha de nuestro servidor FTP o FTPES.
  • Puerto 22: Por normal general este puerto se usa para conexiones seguras SSH y SFTP, siempre que no hayamos cambiado el puerto de escucha de nuestro servidor SSH.
  • Puerto 23: Telnet, sirve para establecer conexión remotamente con otro equipo por la línea de comandos y controlarlo. Es un protocolo no seguro ya que la autenticación y todo el tráfico de datos se envía sin cifrar.
  • Puerto 25:  El puerto 25 es usado por el protocolo SMTP para él envió de correos electrónicos, también el mismo protocolo puede usar los puertos 26 y 2525.
  • Puerto 53: Es usado por el servicio de DNS, Domain Name System.
  • Puerto 80: Este puerto es el que se usa para la navegación web de forma no segura HTTP.
  • Puerto 101: Este puerto es usado por el servicio Hostname y sirve para identificar el nombre de los equipos.
  • Puerto 110: Este puerto lo usan los gestores de correo electrónico para establecer conexión con el protocolo POP3.
  • Puerto 123: Es un puerto utilizado por el NTP o Protocolo de tiempo en red, es uno de los protocolos más importantes a nivel de redes, ya que se utiliza para mantener los dispositivos sincronizados en Internet. Podemos incluso considerarlo vital, ya que, debido a la precisión de los relojes, facilitan mucho la interrelación de problemas de un dispositivo a otro.
  • Puertos 137, 138 y 139: Estos puertos son utilizados por el Protocolo NetBIOS o NBT, lo habréis escuchado mucho si trabajáis en redes en Windows, ya que ha sido durante mucho tiempo el protocolo TCP principal para interconectar los equipos que están bajo este sistema operativo, lógicamente se utiliza en la mayoría de las veces en combinación con el IP utilizando así la famosa combinación TCP/IP que todos conocemos en este mundillo.
  • Puerto 143: El puerto 143 lo usa el protocolo IMAP que es también usado por los gestores de correo electrónico.
  • Puerto 179: Es el puerto utilizado por el Protocolo de puerta de enlace fronteriza o BGP por sus siglas en inglés, es otro protocolo muy importante a nivel de redes, ya que, en su mayoría, es utilizado por los proveedores de servicio para ayudar a mantener las enormes tablas de enrutamiento que existen hoy en día. También es utilizado para procesar las inmensas cantidades de tráfico en las redes, por lo que es uno de los protocolos más utilizados en las redes públicas.
  • Puerto 194: Aunque herramientas como aplicaciones de mensajería para teléfonos inteligentes y servicios como Slack y Microsoft Teams han reducido el uso de Internet Relay Chat, IRC sigue siendo popular entre personas de todo el mundo. Por defecto, IRC usa el puerto 194.
  • Puerto 443: Este puerto es también para la navegación web, pero en este caso usa el protocolo HTTPS que es seguro y utiliza el protocolo TLS por debajo.
  • Puerto 445: Este puerto es compartido por varios servicios, entre el más importante es el Active Directory.
  • Puerto 587: Este puerto lo usa el protocolo SMTP SSL y, al igual que el puerto anterior sirve para el envío de correos electrónicos, pero en este caso de forma segura.
  • Puerto 591: Es usado por Filemaker en alternativa al puerto 80 HTTP.
  • Puerto 853: Es utilizado por DNS over TLS.
  • Puerto 990: Si utilizamos FTPS (FTP Implícito) utilizaremos el puerto por defecto 990, aunque se puede cambiar.
  • Puerto 993: El puerto 993 lo usa el protocolo IMAP SSL que es también usado por los gestores de correo electrónico para establecer la conexión de forma segura.
  • Puerto 995: Al igual que el anterior puerto, sirve para que los gestores de correo electrónico establezcan conexión segura con el protocolo POP3 SSL.
  • Puerto 1194: Este puerto está tanto en TCP como en UDP, es utilizado por el popular protocolo OpenVPN para las redes privadas virtuales.
  • Puerto 1723: Es usado por el protocolo de VPN PPTP.
  • Puerto 1812: se utiliza tanto con TCP como con UDP, y sirve para autenticar clientes en un servidor RADIUS.
  • Puerto 1813: se utiliza tanto con TCP como con UDP, y sirve para el accounting en un servidor RADIUS.
  • Puerto 2049: es utilizado por el protocolo NFS para el intercambio de ficheros en red local o en Internet.
  • Puertos 2082 y 2083: es utilizado por el popular CMS cPanel para la gestión de servidores y servicios, dependiendo de si se usa HTTP o HTTPS, se utiliza uno u otro.
  • Puerto 3074: Lo usa el servicio online de videojuegos de Microsoft Xbox Live.
  • Puerto 3306: Puerto usado por las bases de datos MySQL.
  • Puerto 3389: Es el puerto que usa el escritorio remoto de Windows, muy recomendable cambiarlo.
  • Puerto 4662 TCP y 4672 UDP: Estos puertos los usa el mítico programa eMule, que es un programa para descargar todo tipo de archivos.
  • Puerto 4899: Este puerto lo usa Radmin, que es un programa para controlar remotamente equipos.
  • Puerto 5000: es el puerto de control del popular protocolo UPnP, y que por defecto, siempre deberíamos desactivarlo en el router para no tener ningún problema de seguridad.
  • Puertos 5400, 5500, 5600, 5700, 5800 y 5900: Son usados por el programa VNC, que también sirve para controlar equipos remotamente.
  • Puertos 6881 y 6969: Son usados por el programa BitTorrent, que sirve para e intercambio de ficheros.
  • Puerto 8080: es el puerto alternativo al puerto 80 TCP para servidores web, normalmente se utiliza este puerto en pruebas.
  • Puertos 51400: Es el puerto utilizado de manera predeterminada por el programa Transmission para descargar archivos a través de la red BitTorrent.
  • Puerto 25565: Puerto usado por el famoso videojuego Minecraft.
TCP Over HTTP Tunnel

Un aspecto muy importante de los puertos TCP, es que existe un rango de puertos desde el 49152 al 65535 que son los puertos efímeros, es decir, con cada conexión de origen que nosotros realicemos, se utilizan estos puertos que son dinámicos. Por ejemplo, si realizamos una petición a una web, el puerto de origen estará en este rango 49152-65535, y el puerto de destino será el 80 (HTTP) o 443 (HTTPS).

Otro detalle muy importante, es que, si utilizas el protocolo FTP, hoy en día se utiliza siempre FTP PASV, por lo que no solamente es necesario abrir el puerto TCP 21 para control, sino que deberemos abrir un rango de puertos para el intercambio de archivos entre el cliente FTP y el servidor FTP, de lo contrario, no podremos empezar a realizar las transferencias de datos.

Y estos serían los puertos más usados e importantes cuando hacen uso del protocolo TCP. En los equipos siempre los tendremos abiertos a no ser que un firewall lo esté cerrando explícitamente, pero en el router deberemos abrir todos estos puertos (port-forwarding o también conocido como reenvío de puertos) ya que estamos en un entorno NAT, y todos los puertos están cerrados.

Principales puertos UDP

  • Puerto 23: Este puerto es usado en dispositivos Apple para su servicio de Facetime.
  • Puerto 53: Es utilizado para servicios DNS, este protocolo permite utilizar tanto TCP como UDP para la comunicación con los servidores DNS.
  • Puerto 67: Los servidores del Protocolo de configuración dinámica de host usan el puerto UDP 67 para escuchar las solicitudes.
  • Puerto 68: Por su parte los clientes DHCP se comunican en el puerto UDP 68.
  • Puerto 69: Este puerto es utilizado sobre todo por el Protocolo trivial de transferencia de archivos o TFTP, dicho protocolo es el que nos ofrece un método para transferir nuestros archivos, pero sin tantos requisitos para el establecimiento de sesiones como podría por ejemplo utilizar el FTP. Cabe destacar que al utilizar UDP en lugar de TCP, este protocolo no puede garantizar de ninguna forma que nuestros archivos hayan sido transferidos de manera correcta, por lo que el dispositivo al que lo estamos enviando, debe tener la capacidad de verificar que dicha transferencia se ha realizado adecuadamente.
  • Puerto 88: El servicio de juegos en red de Xbox utiliza varios números de puerto diferentes, incluido el puerto UDP 88.
  • Puerto 161: De manera predeterminada, el Protocolo simple de administración de redes usa el puerto UDP 161 para enviar y recibir solicitudes en la red que se administra.
  • Puerto 162: Se utiliza el puerto UDP 162 como predeterminado para recibir capturas SNMP desde dispositivos administrados.
  • Puerto 500: este puerto es utilizado por el protocolo de VPN IPsec, concretamente se usa por ISAKMP para la fase 1 del establecimiento de la conexión con IPsec.
  • Puerto 514: Es usado por Syslog, el log del sistema operativo.
  • Puerto 1194: este puerto es el predeterminado del protocolo OpenVPN, aunque también se puede utilizar el protocolo TCP. Lo más normal es usar UDP 1194 porque es más rápido a la hora de conectarnos y también de transferencia, obtendremos más ancho de banda.
  • Puerto 1701: Es usado por el protocolo de VPN L2TP.
  • Puerto 1812: se utiliza tanto con TCP como con UDP, y sirve para autenticar clientes en un servidor RADIUS.
  • Puerto 1813: se utiliza tanto con TCP como con UDP, y sirve para el accounting en un servidor RADIUS.
  • Puerto 4500: este puerto también es utilizado por el protocolo de VPN IPsec, se utiliza este puerto para que el funcionamiento de la NAT sea perfecto. Este puerto se utiliza en la fase 2 del establecimiento IPsec, pero también tenemos que tener abierto el puerto UDP 500.
  • Puerto 51871: es utilizado por el protocolo de VPN Wireguard de manera predeterminada.

Cabe destacar que los números de puerto TCP y UDP entre 1024 y 49151 se denominan puertos registrados, la Autoridad de Números Asignados de Internet mantiene una lista de servicios que utilizan estos puertos para minimizar los usos conflictivos.

A partir de estos numeros en adelante y a diferencia de los puertos con números más bajos, los desarrolladores de nuevos servicios TCP/UDP pueden seleccionar un número específico para registrarse con IANA en lugar de que se les asigne un número. El uso de puertos registrados también evita las restricciones de seguridad adicionales que los sistemas operativos imponen a los puertos con números más bajos.

Tal y como habéis visto, tenemos una gran cantidad de puertos TCP y UDP que utilizaremos muy a menudo. Estos son los principales puertos que podemos utilizar para los diferentes servicios, no obstante, hay cientos de puertos TCP y UDP más que utilizan diferentes aplicaciones, pero estos son los más importantes y utilizados.

Tipos de puertos

Como hemos visto, existen gran cantidad de puertos que cumplen muchas funciones diferentes. Pero estos no son todos iguales, de forma que solo su función final es diferente, si no que los podemos dividir en tres tipos diferentes.

  • Puertos bien conocidos: Estaríamos ante los puertos comprendidos entre el 0 y el 1023, los cuales suelen estar abiertos. Se encargan de cumplir los protocolos de comunicación más comunes. En este caso, no tendremos que preocuparnos nada por ellos.
  • Puertos registrados: Comprendidos entre el puerto 1024 y el 49151. Aquí estamos ante un rango mucho mayor a los que nos encontramos anteriormente. Estos se pueden abrir y cerrar de forma automática, normalmente ocurre cuando se realiza la instalación de alguna aplicación, bien sea un videojuego o una app que necesita el puerto 1045. En este caso, el servicio de donde hagamos la descarga, se encarga de abrir el puerto y volver a cerrarlo cuando ya no sea necesario utilizarlo más.
  • Puertos dinámicos: Se encuentran comprendidos entre el 49152 y el 65535. Su función es ser asignado dinámicamente a las aplicaciones que pidan permiso. Como pueden ser los servicios Torrent.

Por qué es importante abrir puertos

Hemos mostrado los principales puertos tanto TCP como UDP. Ahora vamos a hablar de por qué en ocasiones es importante abrir determinados puertos. Lo es para que la conexión pueda pasar correctamente y lograr así una buena velocidad, evitar cortes y no tener problemas para acceder a ciertos servicios.

Jugar por Internet

Un ejemplo claro es para jugar por Internet. Los juegos utilizan determinados puertos para poder establecer una conexión. Para que esa conexión sea veloz y no aparezcan cortes, es necesario saber qué puertos utiliza cada juego y abrirlos en el router. Esto evitará problemas o que incluso no puedas entrar en una partida determinada.

Esto es algo que puede ser necesario tanto a la hora de jugar en ordenador como también a través de videoconsolas. Debes informarte bien sobre qué puertos utiliza cada juego y si es necesario o no abrirlos. En algunos routers incluso verás puertos predeterminados en la configuración para abrirlos fácilmente para determinados juegos populares.

Videoconsolas como la PS4, PS5 o xBox pueden requerir de abrir un rango de puertos específico para poder jugar a determinados juegos sin que haya problemas. Podrás encontrar mucha información en Internet, en foros especializados o en la propia página de los videojuegos, donde verás cuáles debes abrir y así poder configurar correctamente tu router.

Velocidad necesaria para jugar online

Descargas P2P

Algo similar ocurre al utilizar aplicaciones de descargas P2P. Estos programas van a conectarse a determinados puertos para establecer la conexión. Si esos puertos están cerrados, se produciría un cuello de botella y la velocidad de las descargas sería muy limitada y podrías tener problemas para bajar archivos correctamente.

Por ejemplo para usar BitTorrent o uTorrent será necesario tener los puertos abiertos correctamente. En algunos casos no será necesario y no notarás diferencia, pero en otras ocasiones sí que podrás ver que los archivos se descargan mucho más rápido. Aplicaciones de descargas P2P clásicas como eMule incluso mostraban una señal que indicaba que los puertos estaban cerrados y la velocidad de descarga muy limitada.

Especialmente en la descarga de archivos es cuando más interesa que la aplicación aproveche al máximo la capacidad que tiene nuestra conexión. Esto puede ser determinante de cara a que una descarga tarde más o tarde menos en completarse.

Programas de mensajería

También puede ser importante a la hora de usar algunas aplicaciones de mensajería, especialmente aquellas para realizar videollamadas como es el caso de Skype. Si los tienes cerrados, tendrías problemas para que la comunicación fuera rápida y podrías sufrir limitaciones importantes.

Estos programas necesitan enviar y recibir datos. Si la conexión no es fluida, si aparece algún problema, puedes ver que se corte la comunicación, que el envío de imágenes o vídeos se ralentice o tener problemas incluso para poder iniciar una conversación. Estas herramientas también las podemos utilizar tanto en el ordenador como en otros dispositivos móviles.

Normalmente los puertos se abren automáticamente cuando instalas un programa que lo necesite. Te aparecerá un mensaje donde te pide permisos para abrirlos. Ahora bien, en ocasiones esto no es así y debes abrirlos de forma manual a través de la configuración del router. Esto te permitirá usar esos servicios o juegos sin problemas. Hay que tener en cuenta que, por seguridad, van a estar cerrados hasta que se necesitan.

Seguridad para abrir puertos

Siempre y cuando realizamos aperturas de puertos, es muy recomendable contar con algún sistema  de seguridad que sea capaz de analizar el tráfico que fluye por estos en tiempo real. Los ataques a los que nos exponemos al abrir puertos, pueden ser muy peligrosos al proporcionar malware, accesos no autorizados, y ataques DDoS que causan denegaciones de servicio.

Antes de abrir un puerto, debemos estar seguros que realmente es necesario abrirlo para el correcto funcionamiento de alguna aplicación o servicio. Por la contra, si estos no son necesarios, lo más recomendable es dejarlos cerrados, de forma que nada se pueda colar por ellos y generar algún tipo de problema como el robo de información, o una infección del dispositivo.

Por tanto, como has podido ver son varias las circunstancias en las que vas a tener que abrir los puertos del router. Esto permitirá que tu conexión funcione mejor, con más velocidad y evitar ciertos problemas que puedan afectarte a la hora de jugar, descargar o comunicarte a través de aplicaciones. Ahora bien, si realmente no necesitas tener los puertos abiertos lo ideal, por seguridad, es que permanezcan cerrados. Abre únicamente aquellos que sí que vas a necesitar que estén abiertos y así evitarás riesgos innecesarios que puedan afectar a tu seguridad en la red.

tomado de: https://www.redeszone.net/tutoriales/configuracion-puertos/puertos-tcp-udp/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *