Клиент использует большой номер порта - PullRequest
2 голосов
/ 20 февраля 2010

Почему клиент заканчивает соединение используйте большой номер порта (эфемерные порты), тогда как приложения прослушивать обычно маленькие номера портов?

Thx в Advans, Картик Балагуру

Ответы [ 5 ]

10 голосов
/ 20 февраля 2010

Серверы прослушивают фиксированный номер порта, чтобы клиенты знали, куда подключаться. Клиентам не нужно использовать фиксированный номер порта, так как никто не инициирует соединение с ними, и на самом деле они не могут использовать фиксированный номер порта, если на одном компьютере может работать более одного клиента (например, веб-браузер) подключение к тому же серверу. IANA определила порты в диапазоне 0..49151 в качестве фиксированных номеров портов для определенных служб, а порты в диапазоне 49152..65535 - в качестве динамических (эфемерных) портов, которые не назначены какой-либо услуге и могут быть используется, когда фиксированный номер порта не требуется.

Диапазон портов 0..49151 далее делится на хорошо известный диапазон 0..1023, с которым может связываться только привилегированный процесс (по крайней мере, в Unix / Linux), и зарегистрировано диапазон 1024..49151. Порты в диапазоне 1024..49151 могут использоваться серверными процессами, которые могут работать как непривилегированные пользователи, и клиенты также могут использовать порты в этом диапазоне, если они не используются сервером (например, динамические порты в Linux). и Solaris начинаются с 32768 по умолчанию, а не с 49152).

3 голосов
/ 20 февраля 2010

Номера портов до 1024 называются «зарегистрированными», а номера выше (лимит 65 535) - «незарегистрированными». Все эти два термина означают, что порты до 1024 имеют стандартные сервисы, связанные с ними. IE: 53 для DNS, 80 для HTTP, 25 для SMTP и т. Д. Обратите внимание, что они связаны - ничто не мешает вам настроить приложение на использование портов 53, 25 и т. Д., Но это не рекомендуется, поскольку другие службы будут пытаться подключиться и или работайте на этих портах, чтобы это могло вызвать проблемы.

Незарегистрированный регион порта динамически используется клиентскими приложениями. IE: вы читаете этот ответ при подключении к порту 80 веб-сервера (ов) StackOverflow.com, но ваш браузер использует незарегистрированный порт для запуска этого запроса.

1 голос
/ 20 февраля 2010

Поскольку порты сервера обычно хорошо известные порты . В окне Unix вы увидите их назначение в файле /etc/services. С другой стороны, клиентские порты обычно выбираются стеком TCP / IP из определенного верхнего диапазона. Таким образом, серверы знают, какие порты прослушивать, клиенты знают, к какому порту подключаться, и никого не волнует, к какому порту установлено соединение из .

0 голосов
/ 20 февраля 2010

Меньшие номера портов обычно зарезервированы для обычных приложений. Короче = легче запомнить.

0 голосов
/ 20 февраля 2010

Меньшие номера портов (<1024) зарезервированы для привилегированных процессов. Кроме того, многие из этих портов назначаются определенным службам <a href="http://www.iana.org/" rel="nofollow noreferrer"> Интернет-администратором присвоенного номера . Клиенты устанавливают соединения с серверами, прослушивающими эти хорошо известные порты, но используют динамически назначенные номера портов в более высоких диапазонах в соответствии с доступными для них портами.

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