Порт (компьютерная сеть)

редактировать
Конечная точка связи в операционной системе

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

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

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

Содержание
  • 1 Номер порта
    • 1.1 Общие номера портов
  • 2 Поведение в сети
  • 3 Сканирование портов
  • 4 Примеры
  • 5 Использование в URL-адресах
  • 6 История
  • 7 Ссылки
Номер порта

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

Приложения, реализующие общие службы, часто используют специально зарезервированные хорошо известные номера портов для приема запросов на обслуживание от клиентов. Этот процесс известен как прослушивание и включает в себя получение запроса на хорошо известном порту и установление индивидуального диалога сервер-клиент с использованием того же номера локального порта. Другие клиенты могут продолжать подключаться к прослушивающему порту; это работает, потому что TCP-соединение идентифицируется кортежем, состоящим из локального адреса, локального порта, удаленного адреса и удаленного порта. Общеизвестные порты определены по соглашению, контролируемому Internet Assigned Numbers Authority (IANA). Базовые сетевые службы, такие как World Wide Web, обычно используют хорошо известные номера портов. Во многих операционных системах для привязки приложений к этим портам требуются специальные привилегии, поскольку они часто считаются критически важными для работы IP-сетей. И наоборот, на стороне клиента соединения обычно используется высокий номер порта, выделенный для краткосрочного использования, поэтому он называется эфемерный порт.

Общие номера портов

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

Номера портов делятся на три диапазона: известные порты, зарегистрированные порты и динамические или частные порты.

Хорошо известные порты (также известные как системные порты) - это порты от 0 до 1023. Требования для новых назначений в этом диапазоне более строгие, чем для других регистраций, например:

Общие номера портов
НомерНазначение
20Протокол передачи файлов (FTP) Передача данных
21Протокол передачи файлов (FTP) Командное управление
22Secure Shell (SSH) Secure Login
23Telnet служба удаленного входа, незашифрованные текстовые сообщения
25Simple Mail Transfer Protocol (SMTP) E- маршрутизация почты
53Служба системы доменных имен (DNS)
67, 68Протокол динамической конфигурации хоста (DHCP)
80Протокол передачи гипертекста (HTTP) используется в World Wide Web
110Post Office Protocol (POP3)
119Network News Transfer Protocol (NNTP)
123Протокол сетевого времени (NTP)
143Протокол доступа к сообщениям в Интернете (IMAP) Управление цифровой почтой
161Простой протокол управления сетью (SNMP)
194Чат с ретрансляцией через Интернет (IRC)
443HTTP Secure (HTTPS) HTTP через TLS / SSL

Зарегистрированы порты с 1024 по 49151. IANA ведет официальный список хорошо известных и зарегистрированных диапазонов. К динамическим или частным портам относятся порты с 49152 по 65535. Обычно этот диапазон используется для эфемерных портов.

поведения сети

протоколов транспортного уровня, таких как протокол управления передачей (TCP) и Протокол дейтаграмм пользователя (UDP), передают данные с помощью блоков данных протокола (PDU). Для TCP PDU представляет собой сегмент и дейтаграмму для UDP. Оба протокола используют поле заголовка для записи номера порта источника и назначения. Номера портов закодированы в транспортном протоколе заголовок пакета, и их могут легко интерпретировать не только отправляющие и принимающие компьютеры, но и другие компоненты сетевой инфраструктуры. В частности, брандмауэры обычно конфигурируются для различения пакетов на основе их номеров портов источника или назначения. Переадресация портов является примером применения этого.

Сканирование портов

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

Примеры

Примером использования портов является почтовая система Интернета. Сервер, используемый для отправки и получения электронной почты, обычно требует двух сервисов. Первая служба используется для передачи электронной почты на другие серверы и обратно. Это достигается с помощью простого протокола передачи почты (SMTP). Приложение службы SMTP обычно прослушивает TCP-порт 25 на предмет входящих запросов. Второй службой обычно является протокол Post Office Protocol (POP) или Internet Message Access Protocol (IMAP), который используется приложениями почтового клиента на персональные компьютеры пользователей для получения сообщений электронной почты с сервера. Служба POP прослушивает TCP-порт с номером 110. Обе службы могут работать на одном и том же хост-компьютере, и в этом случае номер порта определяет службу, запрошенную удаленным компьютером, будь то компьютер пользователя или другой почтовый сервер.

Хотя номер порта прослушивания сервера четко определен (IANA называет их хорошо известными портами), номер порта клиента часто выбирается из динамического диапазона портов (см. Ниже). В некоторых приложениях и клиенты, и сервер используют определенные номера портов, назначенные IANA. Хорошим примером этого является DHCP, в котором клиент всегда использует UDP-порт 68, а сервер всегда использует UDP-порт 67.

Использование в URL-адресах

Иногда номера портов замечено в сети или других унифицированных указателях ресурсов (URL). По умолчанию HTTP использует порт 80, а HTTPS - порт 443, но URL-адрес типа http://www.example.com:8080/path/указывает, что вместо этого подключается веб-браузер. на порт 8080 HTTP-сервера.

История

Концепция номеров портов была создана первыми разработчиками ARPANET в неформальном сотрудничестве авторов программного обеспечения и системных администраторов.

Термин "номер порта" в это время еще не использовался. Этому предшествовало использование термина «номер сокета» на ранних этапах развития сети. Номер сокета для удаленного хоста был 40-битным. Первые 32 бита были похожи на сегодняшний адрес IPv4, но в то время наиболее значимые 8 бит были номером хоста. Наименее значимая часть номера сокета (биты с 33 по 40) была единицей, называемой другим восьмибитным числом, сокращенно AEN. Сегодня сетевой сокет относится к родственной, но отличной концепции, а именно к внутреннему адресу конечной точки (используется только внутри узла).

26 марта 1972 года Винт Серф и Джон Постел призвали задокументировать текущее использование и создать каталог номеров розеток в RFC 322. Сетевых администраторов попросили отправить записку или позвонить по телефону, «описывая функции и номера сокетов программ сетевых услуг на каждом ХОСТЕ».

Этот каталог впоследствии был опубликован как RFC 433 в декабре 1972 года и включал список хостов и их номера портов, а также соответствующую функцию, используемую на каждом хосте в сети. Эта первая функция реестра служила в первую очередь для документирования использования и указывала, что использование номера порта противоречило между некоторыми хостами для «полезных общедоступных услуг».

В документе обещано разрешение конфликтов на основе стандарта, опубликованного Postel в мае 1972 г. в RFC 349, в котором он впервые предложил официальное назначение номеров портов для сетевых служб и предложил специальную административную функцию, которую он назвал царем, для ведения реестра.

256 значений AEN были разделены на следующие диапазоны:

диапазоны AEN
диапазон номеров портовНазначение
от 0 до 63стандартные функции сети
64–127специфичные для хоста функции
128–239зарезервированы для использования в будущем
240–255любая экспериментальная функция

Служба Telnet получила первое официальное присвоение значения 1. Подробно, первый набор назначений был:

Назначение портов в RFC 349
Номер портаНазначение
1Telnet
3Передача файлов
5Запись удаленного задания
7Эхо
9Отменить

В В ранних версиях ARPANET AEN также назывался именем сокета и использовался с протоколом начального соединения (ICP), компонентом программы управления сетью (NCP). NCP был предшественником современных Интернет-протоколов. Сегодня название терминологической службы по-прежнему тесно связано с номерами портов, первые из которых представляют собой текстовые строки, используемые в некоторых сетевых функциях для представления числового номера порта.

Ссылки
Последняя правка сделана 2021-06-02 11:39:02
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте