Сетевые порты – что это такое

Содержание

  1. Сетевые порты – что это такое?
  2. Сколько вообще портов существует?
  3. Как работает технология сетевых портов?

Сетевые порты – что это такое?

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

Сетевой порт - это своего рода виртуальное дополнение к сетевому адресу (IP-адресу). Для лучшего понимания, можно сказать, что без сетевого порта информация, отправленная с другого устройства, не сможет корректно достичь нашего компьютера, так как IP-адрес не способен определить, какое приложение должно обработать эту информацию.

Технически, сетевой порт - это натуральное число в диапазоне от 0 до 65535, которое включается в заголовки протоколов транспортного уровня сетевой модели OSI.

Для передачи данных в сети используются транспортные протоколы, из которых два самых распространенных - TCP/IP (Transmission Control Protocol/Internet Protocol) и UDP (User Datagram Protocol). Обычно приложение либо ожидает входящие данные или запросы на установление соединения, либо отправляет данные или запросы на установление соединения на известный порт, который открыт приложением-сервером (как клиент).

По умолчанию приложению назначается порт с произвольным номером, например, ближайшим свободным, который может быть больше 1234. При необходимости приложение может запросить определенный (заранее известный) номер порта. Например, веб-серверы обычно ожидают соединения на заранее определенном порту 80 с использованием протокола TCP.

Стоит отметить, что порты TCP не пересекаются с портами UDP. Это означает, что порт 1234 для TCP не будет мешать обмену данными по UDP через тот же порт 1234.

Сколько вообще портов существует?

В компьютере всего 65 535 портов, и они имеют различную значимость. Порты с номерами от 1 до 1023 считаются "критически важными" для сетевой деятельности в Linux и Unix-подобных операционных системах. Для доступа к ним и связанным с ними службам часто требуются root-права. Windows также рассматривает их как системные и следит за ними внимательно.

Порты с номерами от 1024 до 49151 имеют статус "готовые к регистрации". Это означает, что эти порты зарезервированы для определенных служб или могут быть зарезервированы. Однако они не имеют строгих правил, связанных с определенными службами, но могут использоваться для распознавания запущенных программ на хосте.

Остальные порты (начиная с 49152) считаются "динамическими" портами и не зарегистрированы. Они могут использоваться на усмотрение пользователей операционных систем, и их привязка к конкретным службам меняется динамически.

Однако существует несколько хорошо известных портов:

  • FTP-Data: Этот порт (21) используется для передачи файлов между системами с использованием файлового транспортного протокола по протоколу TCP.
  • FTP: Управляющий канал FTP использует порт 20 и позволяет участникам сессии обмениваться командами и откликами по протоколу TCP.
  • Telnet: Порт 23 используется для выполнения команд на удаленных компьютерах через протокол TCP.
  • SMTP: Простой почтовый протокол для отправки электронной почты. Ранее использовался порт 25, но сейчас используются другие порты в зависимости от поставщика услуг.
  • Domain: Порт 53 используется для разрешения имен хостов через протоколы UDP и TCP.
  • HTTP: Порт 80 используется для передачи запросов от веб-браузеров, например, запросов к поисковым системам.
  • POP3: Порт, ранее использовавшийся для получения электронной почты, был 110, но сейчас номер порта может изменяться в зависимости от поставщика услуг.

Как работает технология сетевых портов?

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

Когда вы заходите на веб-сайт в своем браузере, обычно вам не нужно указывать порт в строке адреса - браузер автоматически подставляет соответствующий порт. Например, если вы заходите на сайт https://example.com, на самом деле это выглядит как https://fenix.host:443. Порт указывается после двоеточия, в данном случае, 443 для протокола https (для http был бы порт 80).

Когда происходит перенаправление трафика к другой системе, TCP/IP использует комбинацию IP-адреса и определенного порта для идентификации конкретного сервиса. Эта комбинация называется соксом. Сокс представляет собой специальный файловый дескриптор, который связывает IP-адрес с определенным портом и протоколом передачи данных. Например, вы можете получить доступ к FTP-серверу из Интернета, указав IP-адрес и порт через двоеточие.

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

Комментарии

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

Оценка
Заявка на франшизу
Продать сеть
Рассчитать стоимость
У вас появились вопросы?