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

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

Ответ 1

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

Ответ 2

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

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

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

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

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

Ответ 3

Как я понимаю, вы должны использовать только до 49151, так как от 49152 до 65535 зарезервированы для Ephemeral ports

Ответ 4

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

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

Ответ 5

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

Это означает, что диапазон 0 - 65535.

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

Большинство реализаций резервируют 0 для определенной цели - случайное назначение порта. Поэтому в большинстве реализаций, говоря "слушать порт 0", на самом деле означает "мне все равно, какой порт я использую, просто дайте мне случайный неназначенный порт для прослушивания".

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

Ответ 7

Это должно быть 65535.

Ответ 8

численным выражением 2 ^ 16 - 1, поэтому допустимый диапазон равен 65535

Ответ 9

Допустимые числа для портов: от 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

Ответ 10

Допустимый диапазон: от 1 до 65535, таким образом, самый высокий - 65535

Ответ 11

Численно это должно быть 2 ^ 16 - 1, поэтому допустимый диапазон - 65535.