Порты аппаратные и программные
Порт (англ. 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).
Адаптеры контактных аппаратных интерфейсов (в обиходе называемые «переходниками») и кабели (с встроенными адаптерами) позволяют увеличить число вариантов соединения устройств, имеющих разнотипные порты.
К порту 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 и их отсоединение может выполняться во время работы компьютера.
Со 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:
- 25 — номер порта службы доставки сообщений электронной почты в сетях TCP/IP, работающей по протоколу SMTP (Simple Mail Transfer Protocol — простой протокол доставки почты);
- 53 — номер порта службы доменных имён DNS (Domain Name System)[5];
- 80 — номер порта веб-службы[6], работающей по протоколу HTTP (Hypertext Transfer Protocol — протокол передачи гипертекста[7]).
UDP-порты могут быть назначены IANA или частными организациями.
При отправке UDP-пакета в его заголовок включаются номера портов отправителя и получателя.
Если сервис не относится к хорошо известным, то при запуске он запрашивает у операционной системы свой (назначенный разработчиком сервиса) номер из диапазона зарегистрированных портов.
Динамический порт выделяется программе-клиенту на время её взаимодействия с сервисом. По запросу на соединение от программы-клиента операционная система создаёт динамический порт, которому назначает номер из списка имеющихся в её распоряжении свободных номеров динамических портов. Выделенный номер операционная система заносит в список занятых, а после завершения соединения возвращает в список свободных номеров.
Основы функционирования[править]
Задача обмена пакетами данных между аппаратными сетевыми портами компьютеров и компьютерных устройств решается по правилам протокола IP, а задача обмена данными, содержащимися в пакетах, — по правилам протоколов TCP и UDP.
Программа, взаимодействующая через сеть с другой программой, записывает выходные данные в выделенный ей операционной системой программный порт и читает из него входные данные, полученные из сети от взаимодействующей программы. Данные, отправляемые через сеть взаимодействующей программе, сетевой модуль операционной системы оформляет в виде последовательности пакетов, в каждом из которых указаны адреса программы-получателя и программы-отправителя. Адрес программы-получателя (и программы-отправителя) включает IP-адрес компьютера (или компьютерного устройства) и номер программного порта. При обработке пакетов, поступающих из сети, по указанному в каждом пакете адресу программы-получателя определяется номер программного порта, в который записываются данные, содержащиеся в пакете.
Источники[править]
- ↑ Ильин А. В., Ильин В. Д., 2016
- ↑ Интерфейс в информатике
- ↑ Компьютерная сеть // БРЭ
- ↑ IANA (Internet Assigned Numbers Authority)
- ↑ Домен в информатике // БРЭ
- ↑ Всемирная паутина // БРЭ
- ↑ Гипертекст // БРЭ
Литература[править]
- Порт в информатике / Ильин А. В., Ильин В. Д. // Большая российская энциклопедия: [в 35 т.] / гл. ред. Ю. С. Осипов. — М.: Большая российская энциклопедия, 2004—2017.
Одним из источников этой статьи является статья в википроекте «Руниверсалис» («Руни», руни.рф), называющаяся «Порты аппаратные и программные». Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC BY-SA. Всем участникам Руниверсалиса предлагается прочитать «Обращение к участникам Руниверсалиса» основателя Циклопедии и «Почему Циклопедия?». |