Порты аппаратные и программные

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Порт (англ. port, от лат. — porta ворота, вход) — аппаратная или программная составляющая компьютеров, смартфонов и других компьютерных устройств, предназначенная для их соединения[1].

Аппаратные порты[править]

Аппаратный порт — аппаратная составляющая компьютера, цифровой фотокамеры или другого компьютерного устройства для подключения клавиатуры, монитора или др. внешнего устройства (в том числе другого компьютера), взаимодействие с которым определено аппаратным интерфейсом[2] определённого типа.

Интерфейсы аппаратных средств (компьютеров, компьютерных устройств и их компонентов) реализуются двумя способами подключений:

  • контактные подключения — посредством шин, разъёмов, кабелей (на основе интерфейсов USB (англ. Universal Serial Bus — универсальная последовательная шина), HDMI (англ. High Definition Multimedia Interface — интерфейс для мультимедиа высокой чёткости) или др.);
  • бесконтактные подключения — через радиоинтерфейсы (на основе технологий Wi-Fi, Bluetooth и др.).

Порты для контактных подключений[править]

Каждому типу контактного аппаратного интерфейса (USB, HDMI и др.) соответствует тип аппаратного порта со специфической формой наружного разъёма, количеством контактов, их конструктивным исполнением и расположением.

Внешнее устройство может быть подключено к порту компьютера непосредственно (напр., USB флеш-накопитель), посредством кабеля (напр., монитор) или через адаптер аппаратного интерфейса (напр., используя адаптер Mini DisplayPort Adapter for HDMI и кабель HDMI, можно к ноутбуку с портом Thunderbolt подключить телевизор с портом HDMI).

Разъёмы портов компьютера Mac mini (2023 г.). Верхний ряд (справа-налево): разъёмы двух портов USB-A, порта HDMI 2.0, двух портов Thunderbolt/USB 4, порта Ethernet; нижний ряд: выход 3,5 мм для наушников.

Адаптеры контактных аппаратных интерфейсов (в обиходе называемые «переходниками») и кабели (с встроенными адаптерами) позволяют увеличить число вариантов соединения устройств, имеющих разнотипные порты.

Кабель-адаптер USB Type C (m) — HDMI 4K

К порту HDMI цифрового монитора или телевизора могут быть подключены персональный компьютер, ноутбук, цифровой видеорегистратор (DVR — digital video recorder), цифровая видеокамера или др. Порт Thunderbolt позволяет к одному порту подключать цепочки высокопроизводительных периферийных устройств без использования концентратора или коммутатора (до 6 устройств). Напр., в составе одной цепочки Thunderbolt могут одновременно работать цифровой монитор, видеорегистратор и несколько высокопроизводительных внешних жёстких дисков. А интерфейс Thunderbolt 2 даёт возможность подключать мониторы 4К с разрешением около 4000 точек по горизонтали и 2000 — по вертикали.

Порты для бесконтактных подключений[править]

Каждой технологии беспроводной связи (Wi-Fi, Bluetooth и др.) соответствует специальный тип порта, к которому подключена антенна (или несколько антенн — в зависимости от технологии связи).

Универсализация интерфейсов[править]

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

USB[править]

Довольно успешным решением этой задачи стало создание контактного аппаратного интерфейса USB. Контроллер шины USB допускает подключение до 127 устройств, а встроенные линии питания позволяют подключать к USB порту веб-камеры, внешние накопители и др. устройства, не имеющие собственного источника питания [при условии, что максимальная сила тока, потребляемого устройством, не превышает допустимую величину (для USB 1.0 и USB 2.0 — 500 мА; USB 3.0 — 900 мА; USB 3.1 и USB4 — 5 А)].

Эволюция USB.

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

Со 2-й половины 1990-х гг. порт USB 1.0 начали использовать для подключения клавиатуры и мыши; с начала 2000-х гг. к порту USB 2.0 (с пропускной способностью 25-480 Мбит/с в высокоскоростном режиме) стали подключать и внешний жёсткий диск, а после 2011 к порту USB 3.0 — внешний твёрдотельный накопитель (SSD). Порт USB предназначен был также заменить порт SCSI (англ. Small Computer System Interface — интерфейс малых компьютерных систем) и игровой порт Gameport/MIDI-port.

Современный (начала 2020-х годов) порт Thunderbolt/USB 4 (с разъёмом USB-C) поддерживает порты: USB 4 (до 40 Гбит/с); USB 3.1 (до 10 Гбит/с); DisplayPort; Thunderbolt 3 (до 40 Гбит/с); поддержка Thunderbolt 2, HDMI, DVI и VGA — через дополнительные адаптеры.

В конце 2001 года важным событием для пользователей мобильных устройств (смартфонов, цифровых видеокамер и др.) стало создание интерфейса USB OTG (сокр. англ. On-The-Go — на ходу). Устройства с портами USB, поддерживающими интерфейс USB OTG, могут быть соединены между собой без участия компьютера, например, к цифровой фотокамере можно подключить фотопринтер, если соединяемые устройства имеют соответствующие порты.

С начала 2000-х всё чаще контактное подключение заменяют бесконтактным. Например, для подключения клавиатур и мышей используют интерфейс Bluetooth, а для подключения к компьютерной сети ноутбука или смартфона — Wi-Fi.

Программные порты[править]

Программный порт — буфер в памяти компьютера или компьютерного устройства, который создан операционной системой для размещения данных исполняющейся программы, осуществляющей сетевой[3] обмен сообщениями с другой программой. Поскольку на каждом компьютере (или компьютерном устройстве) одновременно могут выполняться несколько разных программ, осуществляющих сетевой обмен данными с другими программами, технология программных портов позволяет разделять между ними аппаратный сетевой порт.

Номера программных портов[править]

Номера программных портов уникальны на каждом сетевом компьютере (или компьютерном устройстве) для каждого из двух протоколов: TCP (Transmission Control Protocol — протокол управления передачей) и UDP (User Datagram Protocol — протокол пользовательских структур данных), то есть один и тот же программный порт не может одновременно использоваться несколькими программами.

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

Определено три диапазона номеров:

  • «хорошо известные порты» (англ. the well-known ports) имеют номера от 0 до 1023 включительно;
  • «зарегистрированные порты» (the registered ports) — номера с 1024 по 49151;
  • «динамические» или «приватные порты» (the dynamic or private ports) — с 49152 по 65535.

Порты с фиксированными номерами выделяются операционной системой работающим программам-«сервисам» (называемым также «серверными приложениями», «службами» или «сервисами»). Сервисы обслуживают запросы на передачу и/или обработку данных от программ-«клиентов» (называемых также «клиентскими приложениями» или «клиентами»). В запросах клиента к сервису указывается IP-адрес устройства (Internet Protocol — протокол Интернета), на котором работает сервис, и номер порта сервиса.

Назначением «хорошо известных» номеров портов сетевым службам массового применения занимается некоммерческая организация IANA (США) (англ. Internet Assigned Numbers Authority — Администрация адресного пространства Интернет)[4]. За широко известными службами закрепляются определённые (назначенные) номера портов, публикуемые в стандартах Интернета (RFC 1700, RFC 3232). Назначенные номера централизованно закреплены за определёнными сетевыми службами.

Примеры номеров «хорошо известных портов» для обмена сообщениями по протоколу TCP:

UDP-порты могут быть назначены IANA или частными организациями.

При отправке UDP-пакета в его заголовок включаются номера портов отправителя и получателя.

Если сервис не относится к хорошо известным, то при запуске он запрашивает у операционной системы свой (назначенный разработчиком сервиса) номер из диапазона зарегистрированных портов.

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

Основы функционирования[править]

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

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

Источники[править]

  1. Ильин А. В., Ильин В. Д., 2016
  2. Интерфейс в информатике
  3. Компьютерная сеть // БРЭ
  4. IANA (Internet Assigned Numbers Authority)
  5. Домен в информатике // БРЭ
  6. Всемирная паутина // БРЭ
  7. Гипертекст // БРЭ

Литература[править]

Runi.svg Одним из источников этой статьи является статья в википроекте «Руниверсалис» («Руни», руни.рф), называющаяся «Порты аппаратные и программные».
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC BY-SA.
Всем участникам Руниверсалиса предлагается прочитать «Обращение к участникам Руниверсалиса» основателя Циклопедии и «Почему Циклопедия?».