Что произойдет, если серверный компьютер прослушивает более 65536 портов? - PullRequest
0 голосов
/ 24 апреля 2019

В случае Storm он говорит: «Каждый работник использует один порт для приема сообщений, и этот параметр определяет, какие порты открыты для использования». Это означает, что я могу установить номер слота на номер больше 65536, так чточто серверный компьютер может открыть более 65536 процессов, и каждый из них прослушивает уникальный порт?

Дело не в том, сколько tcp-соединений одновременно, я знаю, что tcp-соединения могут быть больше 65536.

Так что же произойдет, если серверный компьютер откроет более 65536 процессов и прослушивает более 65536 портов?

1 Ответ

2 голосов
/ 25 апреля 2019

Когда процесс прослушивает порт TCP, он не просто прослушивает порт число . Он прослушивает комбинацию номера порта и IP-адреса. Подстановочные IP-адреса могут использоваться для указания прослушивания на всех IP-адресах.

Для локальных соединений вы можете использовать IP-адреса, такие как 127.0.0.2 или 127.1.0.1 в сочетании с различными номерами портов, чтобы превысить 65 536 локальных портов. Таким образом, вы можете иметь более 65 536 портов, и все работает нормально. Однако, IP-адреса внутри 127.0.0.0/8 не могут быть достигнуты с других машин, поэтому это только локально.

Чтобы иметь порт, который может принимать входящие соединения по сети, вы должны связать его с комбинацией IP-адреса, доступного по этой сети, с номером порта TCP. Таким образом, машина с одним сетевым адресом может иметь только 65 535 различных портов, к которым могут быть подключены входящие TCP-соединения. Но вы можете превзойти это, назначив компьютеру дополнительные сетевые IP-адреса, предполагая, что используемое программное обеспечение позволяет вам указать IP-адрес для привязки. (Если нет, вы можете легко взломать его, чтобы позволить это.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...