Что такое динамические порты и как они работают?

Динамические номера портов позволяют приложениям взаимодействовать друг с другом с помощью TCP или UDP. Узнайте, как работают и стандартизированы динамические порты.

Динамические порты (также известные как частные номера портов) - это порты, которые доступны для использования любым приложением для связи с любым другим приложением, используя протокол управления передачей (TCP) или протокол пользовательских дейтаграмм (UDP) в Интернете.

Что такое динамические частные порты?

Порт может быть аппаратным или программным. Аппаратный порт - это физический интерфейс - например, разъем или гнездо - для соединения с другими системами. Порт на базе программного обеспечения - иногда называемый виртуальным портом - это логическая конечная точка связи, управляемая операционной системой (ОС) хоста. Программные порты пронумерованы и могут быть назначены определенным процессам или службам. Главный компьютер использует эти порты для направления трафика к соответствующему процессу или службе.

Программные порты идентифицируются 16-разрядными целыми числами в диапазоне от 0 до 65535. Порты могут быть статическими или динамическими. Статический порт - это порт, связь которого с процессом или службой не меняется. Динамический порт - также называемый частным портом - это порт, который назначается процессу или службе в тот момент, когда порт необходим, обычно при запуске процесса или службы. При назначении динамических портов ОС может использовать любые доступные порты из диапазона портов, назначенных для этой цели.

Независимо от того, является ли порт статическим или динамическим, он всегда связан с протоколом, обычно TCP или UDP. Входящие соединения должны указывать правильный номер порта, чтобы подключиться к приложению или службе, если только порт не подразумевается типом связи.

Например, порт 80 зарезервирован для соединений, использующих протокол передачи гипертекста (HTTP). Когда пользователи подключаются к веб-приложению, использующему порт 80, им не нужно указывать номер порта в унифицированном указателе ресурсов (URL), поскольку он подразумевается. Однако если веб-приложение использует порт, отличный от 80, номер порта должен быть добавлен в конец URL, перед которым ставится двоеточие, как в www.example.com:443.

Как работают динамические номера портов?

Порт идентифицируется по номеру порта. Если порт связан с процессом или службой, номер порта также идентифицирует этот процесс или службу. По этой причине, когда приложение на одном компьютере взаимодействует с приложением на другом компьютере, вызывающее приложение обычно указывает номер порта целевого приложения в каждой передаче данных.

Например, заголовок TCP в пакете Интернет-протокола, передаваемом через Интернет, включает порт источника и порт назначения.

Если приложение знает номер порта назначения, оно может вызвать его напрямую. Если он не знает номер порта, приложение может использовать один из нескольких методов для определения номера, например, запросить записи службы системы доменных имен или сделать системный вызов, который ищет номер порта на основе имени службы.

Система нумерации портов была стандартизирована в Интернете и обеспечивает механизм регистрации имен служб и присвоения номеров портов. Управление по присвоению номеров в Интернете (IANA) поддерживает эту систему, хотя сейчас большинство функций IANA выполняет Корпорация Интернета по присвоению имен и номеров. При этом функции нумерации портов по-прежнему представляются как услуги IANA.

Система нумерации портов описана в документе Request for Comments (RFC) 6335. RFC 6335 содержит подробную информацию об использовании имен служб и реестров портов, а также разбивку диапазонов номеров портов. Помимо TCP и UDP, система нумерации портов также применяется к UDP-Lite, Stream Control Transmission Protocol и Datagram Congestion Control Protocol.

Реестры для этих протоколов делятся на три категории в зависимости от доступного диапазона номеров (от 0 до 65535):

  • Системные порты, также известные как общеизвестные порты, включают порты от 0 до 1023 и поддерживают широко используемые службы.
  • Пользовательские порты, также известные как зарегистрированные порты, включают порты от 1024 до 49151 и назначаются конкретным службам на основе заявок на предоставление услуг, поданных в IANA.
  • Динамические порты, также известные как частные или эфемерные порты, включают порты от 49152 до 65535 и никогда не назначаются.

В любой момент времени системный или пользовательский порт находится в одном из следующих трех состояний:

  • Порт в настоящее время назначен службе, и это назначение записано в реестре.
  • Порт доступен для назначения по запросу. Требования к запросу изложены в RFC 6335. IANA присваивает номера портов в порядке поступления заявок.
  • IANA зарезервировала порт для специальных целей.

Примеры системных и пользовательских портов включают следующее:

Системные порты

  • Secure Shell, порт 22
  • Простой протокол передачи почты, порт 25
  • HTTP, порт 80

Пользовательские порты

  • OpenVPN, порт 1194
  • Microsoft SQL Server, порт 1433
  • Протокол туннелирования "точка-точка", порт 1723

Динамические номера портов существуют в отдельной категории от двух других, поскольку они никогда не могут быть назначены или зарезервированы. IANA специально выделила номера портов в динамическом диапазоне для локального, частного или временного использования, оставив на усмотрение хост-компьютеров и прикладного программного обеспечения определение того, как и когда использовать эти порты. Однако разработчикам приложений не следует полагать, что определенный номер порта в динамическом диапазоне всегда будет доступен.

Понравилась статья? Поделиться с друзьями:
Комментарии: 1
  1. Avatar for advisor
    Advisor

    Здравствуйте! Спасибо за интерес к нашей компании. Мы рады предоставить вам информацию о динамических портах и их работе.

    Динамические порты - это технология, которая позволяет автоматически создавать и изменять порты для сетевого подключения. Это особенно полезно в средах, где количество сетевых устройств и приложений может быстро меняться. Например, в виртуальных частных сетях (VPN) динамические порты позволяют автоматически настраивать порты для каждого соединения, что упрощает настройку и управление сетью.

    Принцип работы динамических портов заключается в том, что при подключении к сети компьютер или приложение получают порт, который будет использоваться для передачи данных. Этот порт выбирается случайным образом из диапазона, определенного администратором сети. После завершения соединения порт освобождается и может быть использован другими устройствами.

    Использование динамических портов позволяет избежать необходимости настройки статических портов для каждого сетевого устройства, что может быть сложно и затратно по времени. Кроме того, динамические порты могут автоматически адаптироваться к изменениям в сети, что делает их более гибкими и эффективными.

    Если у вас есть дополнительные вопросы, пожалуйста, не стесняйтесь обращаться к нам. Мы всегда рады помочь!

Добавить комментарий