Введение
Конечная точка связи в операционной системе Порты связи программного обеспечения В компьютерных сетях порт или номер порта - это номер, присвоенный для однозначной идентификации конечной точки соединения и для направления данных в конкретную службу. На уровне программного обеспечения, в операционной системе, порт является логической конструкцией, которая идентифицирует конкретный процесс или тип сетевой услуги. Порт на уровне программного обеспечения идентифицируется для каждого транспортного протокола и комбинации адресов по присвоенному ему номеру порта. Наиболее распространенными транспортными протоколами, использующими номера портов, являются протокол управления передачей (TCP) и протокол пользовательской датграммы (UDP); эти номера портов являются 16-битовыми неподписанными номерами. Номер порта всегда связан с сетевым адресом хоста, таким как IP-адрес, и типом транспортного протокола, используемого для связи. Он заполняет адрес назначения или адреса отправления сообщения. Специфические номера портов зарезервированы для идентификации конкретных служб, чтобы прибывающий пакет мог быть легко перенаправлен в работающее приложение. Для этого номера портов, меньшие, чем 1024, определяют наиболее часто используемые в истории услуги и называются хорошо известными номерами портов. Порты с более высоким номером доступны для общего использования приложениями и известны как эфемерные порты. Порты обеспечивают услугу мультиплексирования для нескольких служб или нескольких сеансов связи на одном сетевом адресе. В клиент-серверной модели архитектуры приложений для одной и той же службы может быть инициировано несколько одновременных сеансов связи.
software communication ports
In computer networking, a port or port number is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service. At the software level, within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port at the software level is identified for each transport protocol and address combination by the port number assigned to it. The most common transport protocols that use port numbers are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP); those port numbers are 16 bit unsigned numbers. A port number is always associated with a network address of a host, such as an IP address, and the type of transport protocol used for communication. It completes the destination or origination address of a message. Specific port numbers are reserved to identify specific services so that an arriving packet can be easily forwarded to a running application. For this purpose, port numbers lower than 1024 identify the historically most commonly used services and are called the well known port numbers. Higher numbered ports are available for general use by applications and are known as ephemeral ports. Ports provide a multiplexing service for multiple services or multiple communication sessions at one network address. In the client–server model of application architecture, multiple simultaneous communication sessions may be initiated for the same service.
Номер порта
Для TCP и UDP номер порта представляет собой 16-битное неподписанное целое число, таким образом, в диапазоне от 0 до 65535. Для TCP номер порта 0 зарезервирован и не может использоваться, в то время как для UDP исходный порт является необязательным, а значение нуля означает отсутствие порта. Процесс связывает свои входные или выходные каналы через интернет-сокет, который является типом файлового дескриптора, связанного с транспортным протоколом, сетевым адресом, таким как IP-адрес, и номером порта. Это называется "обязательностью". Сокет используется процессом для отправки и получения данных через сеть. Сетевое программное обеспечение операционной системы выполняет задачу передачи исходящих данных со всех портов приложений в сеть и пересылки поступающих сетевых пакетов процессам путем сопоставления IP-адреса пакета и номера порта с разъемом. Для TCP только один процесс может связываться с определенным IP-адресом и комбинацией портов. Обычные сбои приложения, иногда называемые конфликтами портов, возникают, когда несколько программ пытаются использовать один и тот же номер порта на одном и том же IP-адресе с одним и тем же протоколом. Приложения, реализующие общие услуги, часто используют специально зарезервированные хорошо известные номера портов для получения запросов на услуги от клиентов. Этот процесс известен как прослушивание и включает в себя получение запроса на хорошо известном порту, потенциально устанавливающем диалог один к одному сервер-клиент, используя этот прослушивающий порт. Другие клиенты могут одновременно подключаться к тому же порту прослушивания; это работает, потому что TCP-соединение идентифицируется тупулом, состоящим из локального адреса, локального порта, удаленного адреса и удаленного порта. Известные порты определяются конвенцией, контролируемой Internet Assigned Numbers Authority (IANA). Во многих операционных системах для приложения, связанного с этими портами, требуются специальные привилегии, поскольку они часто считаются критическими для работы IP-сетей. И наоборот, клиентский конец соединения обычно использует высокий номер порта, выделенный для краткосрочного использования, поэтому называется эфемерным портом.
Поведение сети
Протоколы транспортного уровня, такие как Протокол управления передачей (TCP) и Протокол пользовательской датграммы (UDP), передают данные с использованием протокольных единиц данных (PDU). Для TCP PDU является сегментом, а для UDP - датграммой. Оба протокола используют поле заголовка для указания номеров источника и назначения порта. Номера портов кодируются в заголовке пакета транспортного протокола, и они могут быть легко интерпретированы не только отправителем и принимающим хостами, но и другими компонентами сетевой инфраструктуры. В частности, брандмауэры обычно настроены так, чтобы различать пакеты на основе их номера портов источника или назначения. Примерным применением этого является пересылка портов.
Сканирование портов
Практика попытки подключения к ряду портов последовательно на одном хосте обычно известна как сканирование портов. Обычно это связано либо с злонамеренными попытками взлома, либо с администраторами сети, которые ищут возможные уязвимости, чтобы помочь предотвратить такие атаки. Попытки подключения портов часто контролируются и регистрируются хостами. При помощи метода "порт-нокинг" используется серия портовых соединений (нокатов) с клиентского компьютера для установки соединения с сервером.
Примеры
Примером использования портов является доставка электронной почты. Сервер, используемый для отправки и получения электронной почты, обычно нуждается в двух услугах. Первая услуга используется для транспортировки электронной почты на другие серверы. Это достигается с помощью протокола простой передачи почты (SMTP). Стандартное приложение службы SMTP прослушивает входящие запросы на порту 25 TCP. Второй сервис обычно является либо протоколом почтового отделения (POP), либо протоколом доступа к сообщениям в Интернете (IMAP), который используется приложениями почтового клиента на персональных компьютерах пользователей для получения электронных сообщений с сервера. Служба POP подслушивает на номере порта TCP 110. Оба сервиса могут работать на одном и том же хост-компьютере, в этом случае номер порта отличает услугу, запрошенную удаленным компьютером, будь то компьютер пользователя или другой почтовый сервер. Хотя номер прослушивающего порта сервера хорошо определен (IANA называет их хорошо известными портами), номер порта клиента часто выбирается из диапазона динамических портов (см. ниже). В некоторых приложениях клиенты и сервер используют конкретные номера портов, назначенные IANA. Хорошим примером этого является DHCP, в котором клиент всегда использует порт UDP 68 и сервер всегда использует порт UDP 67.
Использование в URL-адресах
Номера портов иногда можно увидеть в веб-сайтах или других однородных локаторах ресурсов (URL). По умолчанию HTTP использует порт 80, а HTTPS использует порт 443, но URL-адрес, как http://www. Пример. com:8080/path/ указывает, что веб-браузер подключается вместо этого к порту 8080 HTTP-сервера.