Я работаю в месте, где каждое из наших внутренних приложений работает на отдельном экземпляре Tomcat и использует определенный порт TCP. Какой диапазон портов IANA лучше всего использовать для этих приложений, чтобы избежать конфликтов номеров портов с любым другим процессом на сервере?
Основываясь на http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml , вот варианты, которые я вижу сейчас:
- Системные порты (0-1023): я не хочу использовать какие-либо из этих портов, потому что сервер может запускать службы на стандартных портах в этом диапазоне.
- Пользовательские порты (1024-49151): учитывая, что приложения являются внутренними, я не собираюсь просить IANA зарезервировать номер для любого из наших приложений. Однако я хотел бы уменьшить вероятность того, что тот же порт будет использоваться другим процессом, например Oracle Net Listener на 1521.
- Динамические и / или частные порты (49152-65535): этот диапазон идеально подходит для настраиваемых номеров портов. Меня беспокоит только то, что произойдет:
а. Я настраиваю одно из своих приложений на использование порта X
b. Приложение не работает в течение нескольких минут или часов (в зависимости от характера приложения), оставляя порт неиспользованным на некоторое время,
c. Операционная система выделяет порт номер X другому процессу, например, когда этот процесс действует как клиент, которому требуется TCP-соединение с другим сервером. Это удается, учитывая, что он попадает в динамический диапазон и X в настоящее время не используется операционной системой, и
d. Приложение не запускается, потому что порт X уже используется