Назад | Перейти на главную страницу

Где находится документация, в которой указано, что исходный порт TCP и UDP должен быть более 1024 и случайным?

Мне трудно найти, где задокументировано, что исходный порт должен быть случайным и находиться в диапазоне 1024-65535.

В каком RFC это задокументировано?

Редактировать:
Первая ссылка на привилегированные порты находится в RFC2623.
Кажется, что это больше зависит от реализации TCP / IP и является стандартом де-факто.

IANA назначает номера портов (RFC1700)

Вы наверное ищете RFC 6056 - Рекомендации по рандомизации портов транспортного протокола («Лучшая текущая практика»).

Технически нет требование что эфемерный порт> 1024 или случайный (вы можете создать систему, которая всегда инициирует соединения с порта 12, потому что вам нравится номер 12), это просто не "нормально" (и ужасная идея по множеству причин, некоторые из них описаны в этом RFC).

В RFC 6335 объясняет это:

Порты в диапазоне динамических портов (49152-65535) были специально зарезервированы для локального и динамического использования и не могут быть назначены через IANA. Прикладное программное обеспечение может просто использовать любой динамический порт, доступный на локальном хосте, без какого-либо назначения. С другой стороны, прикладное программное обеспечение НЕ ДОЛЖНО предполагать, что определенный номер порта в диапазоне динамических портов всегда будет доступен для связи в любое время, и поэтому номер порта в этом диапазоне НЕ ДОЛЖЕН использоваться в качестве идентификатора службы.

Зарезервированные порты:

Порты из диапазона пользовательских портов (1024–49151) доступны для назначения через IANA и МОГУТ использоваться в качестве идентификаторов услуг после успешного назначения.

Порты из диапазона системных портов (0-1023) также доступны для назначения через IANA. Поскольку диапазон системных портов является как наименьшим, так и наиболее плотно назначенным, требования для новых назначений более строгие, чем требования для диапазона пользовательских портов, и будут предоставлены только в рамках процедур «Обзор IETF» или «Утверждение IESG». RFC5226.

Введение объясняет путаницу:

В течение многих лет назначение новых имен служб и значений номеров портов для использования с протоколом управления передачей (TCP) [RFC0793] и протоколом пользовательских дейтаграмм (UDP) [RFC0768] было менее
четкие инструкции.

Кажется, что Windows XP не соответствует RFC6335, но Solaris 10 соответствует.

Что voretaq7 сказал вместе с этот но для педантизма есть техническое требование. Исторически демоны / серверы в * nix работают на портах <1024 (называя их системными портами), таким образом, во избежание конфликта исходные порты (пользовательские порты)> 1024 (или, если быть точным, 1024 - 49151). Однако это не всегда случай, как вы говорите, и это зависит от реализации. В целом ссылка выше дает список RFC, но, вероятно, наиболее конкретным из них является RFC5226 в котором описывается процесс «экспертной оценки» IANA.