Какой максимальный номер сетевого порта TCP/IP разрешен для IPv4?

StackOverflow https://stackoverflow.com/questions/113224

  •  02-07-2019
  •  | 
  •  

Вопрос

Какой максимальный номер порта можно использовать?

Это было полезно?

Решение

Номер порта представляет собой 16-битное целое число без знака, то есть 65535.

Другие советы

Самый большой номер порта — это беззнаковое короткое число 2^16-1:65535

Зарегистрированный порт — это порт, назначенный Интернет-корпорацией по присвоению имен и номеров (ICANN) для определенного использования.Каждый зарегистрированный порт находится в диапазоне 1024–49151.

С 21 марта 2001 г. регистратором является ICANN;до этого времени это было IANA.

Порты с номерами меньшими, чем номера зарегистрированных портов, называются хорошо известными портами;Порты с номерами больше, чем у зарегистрированных портов, называются динамическими и/или частными портами.

Википедия:Зарегистрированные порты

Насколько я понимаю, следует использовать только номера до 49151, так как номера с 49152 по 65535 зарезервированы для Эфемерные порты

Просто продолжение разгромответ.Диапазон временных портов (по крайней мере, в Linux, и я подозреваю, что и в других Unix) не является фиксированным.Это можно контролировать, написав в/proc/sys/net/ipv4/ip_local_port_range

Единственное ограничение (с точки зрения IANA) заключается в том, что порты ниже 1024 считаются общеизвестными портами.Порты, указанные выше, бесплатны для использования.Часто вы обнаружите, что порты ниже 1024 ограничены доступом суперпользователя, я полагаю, именно по этой причине.

Согласно RFC 793, порт представляет собой 16-битное целое число без знака.

Это означает, что диапазон составляет 0–65535.

Однако в этом диапазоне порты 0–1023 обычно зарезервированы для определенных целей.Я говорю «в общем», потому что, кроме порта 0, резервирование 0-1023 обычно не применяется.TCP/UDP реализации обычно не применяют резервирование, кроме 0.Вы можете, если хотите, настроить TLS-порт веб-сервера на порт 80, 25 или 65535 вместо стандартного 443.Аналогично, несмотря на то, что SMTP-серверы стандартно прослушивают порт 25, вы можете запустить его на 80, 443 или других портах.

Большинство реализации зарезервируйте 0 для определенной цели — случайное назначение порта.Так что в большинстве реализации, фраза «прослушивать порт 0» на самом деле означает: «Мне все равно, какой порт я использую, просто дайте мне какой-нибудь случайный неназначенный порт для прослушивания».

Таким образом, любое ограничение на использование порта в диапазоне 0–65535, включая 0, диапазон эфемерного резервирования и т. д., является недопустимым. реализация (т.ОС/драйвер) зависит от, однако все порты, включая 0, являются допустимыми портами в RFC 793.

Это зависит от того, о каком диапазоне вы говорите, но динамический диапазон достигает 65535 или 2^16-1 (16 бит).

http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

Должно быть 65535.

Допустимые номера портов:От 0 до 2^16-1 = от 0 до 65535
Это связано с тем, что номер порта имеет длину 16 бит.

Однако порты делятся на:
Известные порты:От 0 до 1023 (используется для системных служб, например.HTTP, FTP, SSH, DHCP...)
Зарегистрированные/пользовательские порты:от 1024 до 49151 (вы можете использовать его для своего сервера, но будьте осторожны с некоторыми известными приложениями:например, сервер системы управления базами данных Microsoft SQL Server (MSSQL) или сетевой сервер Apache Derby, уже берут из этого диапазона, т.е.не рекомендуется назначать порт MSSQL вашему серверу, в противном случае, если MSSQL запущен, ваш сервер, скорее всего, не будет работать из-за конфликта портов)
Динамические/частные порты:49152–65535.(не используется для серверов, а для клиентов, например.в службе NATing)

В программировании вы можете использовать любые числа от 0 до 65535 для вашего сервера, однако вам следует придерживаться указанных выше диапазонов, иначе некоторые системные службы или некоторые приложения не будут запускаться из-за конфликта портов.
Проверьте список большинства портов здесь: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top