
В чем разница между тремя типами портов: Известный, Зарегистрированный и Динамический? А именно, разница в использовании и номерах портов, связанных с каждой категорией.
Насколько я понимаю, в настоящее время диапазоны портов для каждой категории следующие:
Известные: до 1023.
Зарегистрированные: от 1024 до 49151.
Динамические: от 49152 до 65535.
решение1
Существуют некоторые практические и некоторые условные различия.
Практика:
- В Unix и Unix-подобных системах только суперпользователь может привязывать службы к портам <1024. Эти порты назначаютсяIETF[1] (ну, IANA говорит [2] что они назначаются IETF, и IETF говорит [1] что они назначены IANA, но они означают, что IETFпредполагаетназначения, а IANA ведет официальный список).
Общепринятый:
- Порты 1024--49151 доступны для регистрации наИАНАдля более общих целей, поскольку они доступны для привязки обычным пользователям. Вот почему они используются, например, для игровых серверов. Регистрация — это попытка избежать конфликтов портов (которые случаются в любом случае, поскольку не все считают, что регистрация стоит того).
- Порты 49152--65535 явнонетдоступно для регистрации [2]. Это гарантирует, что их можно использовать в любом приложении,после проверки того, что они еще не используются. Поскольку диапазон 1024--49151 может быть зарегистрирован, если приложение займет первый доступный порт в этом диапазоне, может возникнуть конфликт, когда зарегистрированное приложение позже запустится. Аналогично, есть преимущество в возможности быть "уверенным" (теоретически), что определенный порт соответствует определенной службе.
Все эти упомянутые различия указаны через [2], но на практике, как я уже упоминал, не все придерживаются зарегистрированных назначений портов. Вы не найдете почти ни одного из обычных портов игрового сервера (например, 27015 для Counter-strike, 6889 для Starcraft) в списке, и на практике есть обычные системные порты (411 для Direct Connect), которые также не зарегистрированы. Требование привязки суперпользователя к портам <1024 также является просто ограничением ОС.
IANA ведет официальный список по назначению номеров портов [2].