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