Puerto de red: concepto

Un puerto de red es una interfaz para comunicarse con un programa a través de una red. Un puerto suele estar numerado. La implementación del protocolo en el destino utilizará ese número para decidir a qué programa entregará los datos recibidos. Esta asignación de puertos permite que una máquina establecer simultáneamente diversas conexiones con máquinas distintas, ya que todos los paquetes que se reciben tienen la misma dirección, pero van dirigidos a puertos diferentes.
Los números de puerto se indican mediante una palabra, 2 bytes (16 bits), por lo que existen 65535. Podemos usar cualquiera de ellos para cualquier protocolo, no obtante existe un organo, la IANA, encargado de la asignación de los mismos, el cual creó tres categorías:
  1. Los puertos inferiores al 1024; son puertos reservados para el sistema operativo y usados por "protocolos bien conocidos", si queremos usar uno de estos puertos tendremos que arrancar el servicio que los use teniendo permisos de administrador.
  2. Los comprendidos entre 1024 (0400 en hexadecimal) y 49151 (BFFF en hexadecimal); son denominados "registrados" y pueden ser usados por cualquier aplicación, existe una lista publica en la web del IANA donde ver que protocolo usa cada uno de ellos.
  3. Los comprendidos entre los números 49152 (C000 en hexadecimal) y 65535 (FFFF en hexadecimal); son denominados dinamico o privados porque son los usados por el sistema operativo cuando una aplicación tiene que conectarse a un servidor y por tanto necesita un puerto por donde salir.

1 comentario: