Trabajo en un lugar donde cada una de nuestras aplicaciones internas se ejecuta en una instancia individual de Tomcat y usa un puerto TCP específico. ¿Cuál sería el mejor rango de puertos de IANA para estas aplicaciones a fin de evitar colisiones de números de puerto con cualquier otro proceso en el servidor?
Basado en http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml , estas son las opciones como las veo actualmente:
- Puertos del sistema (0-1023): no quiero usar ninguno de estos puertos porque el servidor puede estar ejecutando servicios en puertos estándar en este rango
- Puertos de usuario (1024-49151): Dado que las aplicaciones son internas, no pretendo solicitar a IANA que reserve un número para ninguna de nuestras aplicaciones. Sin embargo, me gustaría reducir la probabilidad de que otro proceso utilice el mismo puerto, por ejemplo, Oracle Net Listener en 1521.
- Puertos dinámicos y / o privados (49152-65535): este rango es ideal para números de puerto personalizados. Mi única preocupación es si esto sucediera:
a. Configuro una de mis aplicaciones para usar el puerto X
b. La aplicación está inactiva por unos minutos u horas (dependiendo de la naturaleza de la aplicación), dejando el puerto sin usar por un tiempo,
c. El sistema operativo asigna el número de puerto X a otro proceso, por ejemplo, cuando ese proceso actúa como un cliente que requiere una conexión TCP a otro servidor. Esto tiene éxito dado que se encuentra dentro del rango dinámico y X no se utiliza actualmente en lo que respecta al sistema operativo, y
d. La aplicación no se inicia porque el puerto X ya está en uso