Я працюю там, де кожна з наших внутрішніх програм працює на окремому екземплярі 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): цей діапазон ідеально підходить для власних номерів портів. Моє єдине занепокоєння - якби це сталося:
a. Я налаштовую один із своїх додатків на використання порту X
b. Додаток не працює на кілька хвилин або годин (залежно від характеру програми), залишаючи порт ненадовго невикористаним,
c. Операційна система призначає номер порту X іншому процесу, наприклад, коли цей процес діє як клієнт, який вимагає TCP-з'єднання з іншим сервером. Це вдається з огляду на те, що воно потрапляє в динамічний діапазон, і X в даний час не використовується щодо операційної системи, і
d. Не вдається запустити програму, оскільки порт X уже використовується