0 comentarios

Lista de protocolos y sus puertos

Aunque normalmente nos referimos a Puertos TCP y UDP, en realidad más que de puertos debemos hablar de protocolos, ya que no se trata de diferentes tipos de puertos, sino de diferentes protocolos utilizados para su gestión.

TCP (Transport Control Protocol) y UDP (User Datagram Protocol) son dos protocolos de puertos de comunicaciones que resultan imprescindibles para éstas y que se comportan de forma diferente.

Entre estos dos tipos de protocolos, o más bien entre su comportamiento en cuanto al tratamiento de transmisión de datos se refiere, hay una serie de diferencias que es conveniente conocer. Vamos a ver cuales son esas diferencias:

Protocolo TCP:


El protocolo TCP o Transport Control Protocol proporciona un transporte fiable de flujo de bits entre aplicaciones. Se utiliza para enviar de forma fiable grandes cantidades de información, liberando al programador de aplicaciones de tener que gestionar la fiabilidad de la conexión (retransmisiones, pérdidas de paquetes, orden en que llegan los paquetes, duplicados de paquetes...), encargándose el propio protocolo de su gestión. Para ello, cada paquete de datos dedica 20 bytes al envío de información.

Esto hace que las transmisiones por TCP sean muy seguras... pero también lentas, ya que cada paquete hace una serie de comprobaciones sobre la integridad de los datos enviados, a lo que hay que añadir que al ser los paquetes de tamaño fijo, si aumentamos el tamaño dedicado al envío de información vamos a asegurarnos una mayor fiabilidad, pero también enviamos menos datos.

Protocolo UDP:

El protocolo UDP, o User Datagram Protocol en cambio proporciona un nivel no fiable de transporte de datagramas, ya que añade muy poca información sobre los mismos (8 bytes, frente a los 20 bytes que vimos en el protocolo TCP). La primera consecuencia de esto es que por cada paquete enviado se envía una mayor cantidad de datos, pero también al reducir la información y comprobaciones de estos se aumenta la velocidad a la que se transfieren.

Este sistema lo utilizan, por ejemplo, NFS (Network File System) y RCP, que es un comando utilizado para transferir ficheros entre ordenadores, pero sobre todo es muy utilizado en la transferencia tanto de audio como de vídeo.

El protocolo UDP no usa ningún retardo para establecer una conexión, no mantiene estado de conexión y no hace un seguimiento de estos parámetros. Esto hace que un servidor dedicado a una aplicación determinada pueda soportar más clientes conectados cuando la aplicación corre sobre UDP en lugar de sobre TCP.

Rango de los puertos:

El campo de puerto tiene una longitud de 16 bits, lo que permite un rango que va desde 0 a 65535, pero no todos estos puertos son de libre uso. Veamos algunas normas sobre ellos:

El puerto 0 es un puerto reservado, pero es un puerto permitido si el emisor no permite respuestas del receptor.

Los puertos 1 a 1023 reciben el nombre de Puertos bien conocidos, y en sistemas Unix, para enlazar con ellos, es necesario tener acceso como superusuario.

Los puertos 1024 a 49151 son los llamados Puertos registrados, y son los de libre utilización.

Los puertos del 491552 al 65535 son puertos efímeros, de tipo temporal, y se utilizan sobre todo por los clientes al conectar con el servidor.

Importancia de la apertura de estos puertos:

La importancia de la apertura de estos puertos viene dada porque muchos programas de muy diferente tipo los utilizan, y necesitan tenerlos abiertos y, en el caso de redes, correctamente asignados. En general, cualquier programa o servicio que necesite comunicarse necesita un puerto (o varios) por el que hacerlo. Los más habituales (y conocidos) son:

- 20 (TCP), FTP (File Transfer Protocol) para datos
- 21 (TCP), FTP (File Transfer Protocol) para control
- 22 (SSH), Acceso remoto seguro
- 23 (Telnet), Acceso Remoto
- 25 (TCP), SMTP (Simple Mail Transfer Protocol)
- 53 (TCP), DNS (Domain Name System)
- 53 (UDP), DNS (Domain Name System)
- 67 (UDP), BOOTP BootStrap Protocol (Server) y por DHCP
- 68 (UDP), BOOTP BootStrap Protocol (Client) y por DHCP
- 69 (UDP), TFTP (Trivial File Transfer Protocol)
- 80 (TCP), HTTP (HyperText Transfer Protocol)
- 88 (TCP), Kerberos (agente de autenticación)
- 110 (TCP), POP3 (Post Office Protocol)
- 137 (TCP), NetBIOS (servicio de nombres)
- 137 (UDP), NetBIOS (servicio de nombres)
- 138 (TCP), NetBIOS (servicio de envío de datagramas)
- 138 (UDP), NetBIOS (servicio de envío de datagramas)
- 139 (TCP), NetBIOS (servicio de sesiones)
- 139 (UDP), NetBIOS (servicio de sesiones)
- 143 (TCP), IMAP4 (Internet Message Access Protocol)
- 443 (TCP), HTTPS/SSL (transferencia segura de páginas web)
- 631 (TCP), CUPS (sistema de impresión de Unix)
- 993 (TCP), IMAP4 sobre SSL
- 995 (TCP), POP3 sobre SSL
- 1080 (TCP), SOCKS Proxy
- 1433 (TCP), Microsoft-SQL-Server
- 1434 (TCP), Microsoft-SQL-Monitor
- 1434 (UDP), Microsoft-SQL-Monitor
- 1701 (UDP), Enrutamiento y Acceso R. para VPN con L2TP.
- 1723 (TCP), Enrutamiento y Acceso R. para VPN con PPTP.
- 1761 (TCP), Novell Zenworks Remote Control utility
- 1863 (TCP), MSN Messenger

Esta es una pequeña lista de los principales puertos, que se utilizaran para nuestras configuraciones.