2008-09-22 3 views

ответ

418

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

+138

«Эй, Джим, сколько портов мы должны поддерживать?» «Просто сделайте это 16 бит для хорошей меры. Никто никогда не будет иметь сразу несколько сотен открытых открытий». – JessieArr 2014-09-12 13:41:35

+0

@JessieArr, и, поскольку вы, кажется, берете лист из книги ворот счета со своей знаменитой строкой о ОЗУ, что было сделано давно, что 640KB RAM будет достаточно в будущем, и, конечно же, это не так. Вы также пытаетесь предположить, что, по вашему мнению, 16 бит/65536 недостаточно? (И как было бы несколько сотен открытых портов сделать 65536 портов недостаточно?) – barlop 2016-07-13 18:23:02

+1

@barlop Я предполагал, что когда они впервые создали порты, одна машина с сотнями соединений, вероятно, считалась наихудшим сценарием. Но сегодня веб-серверы, сетевые устройства и т. Д. Могут определенно столкнуться с ограничениями на количество портов. Microsoft написала интересную статью Technet о том, как ее диагностировать и избегать в средах Windows: https://blogs.technet.microsoft.com/askds/2008/10/29/port-exhaustion-and-you-or-whieve-the -netstat-tool-is-your-friend/ – JessieArr 2016-07-13 20:04:10

117

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

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

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

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

Source

58

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

35

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

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

3

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

2

Допустимый диапазон от 1 до 65535, тем самым высочайших из 65535

1

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

7

Согласно 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/водителя) конкретных, однако все, в том числе 0, являются действительными порты в RFC 793.

 Смежные вопросы

  • Нет связанных вопросов^_^