Из Википедии, бесплатной энциклопедии
  (Перенаправлено с IP-порта )
Перейти к навигации Перейти к поиску

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

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

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

Номер порта [ править ]

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

Приложения, реализующие общие службы, часто используют специально зарезервированные хорошо известные номера портов для приема запросов на обслуживание от клиентов. Этот процесс известен как прослушивание и включает в себя получение запроса на хорошо известном порте, потенциально устанавливающем индивидуальный диалог сервер-клиент с использованием этого прослушивающего порта. Другие клиенты могут одновременно подключаться к тому же порту прослушивания; это работает, потому что TCP-соединение идентифицируется кортежем, состоящим из локального адреса, локального порта, удаленного адреса и удаленного порта. [1] Общеизвестные порты определены в соответствии с соглашением, контролируемым Управлением по присвоению номеров Интернета.(IANA). Во многих операционных системах приложениям требуются специальные привилегии для привязки к этим портам, поскольку они часто считаются критически важными для работы IP-сетей. И наоборот, клиентская часть соединения обычно использует высокий номер порта, выделенный для краткосрочного использования, поэтому он называется эфемерным портом .

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

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

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

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

Зарегистрированы порты с 1024 по 49151. IANA ведет официальный список хорошо известных и зарегистрированных диапазонов. [3]

К динамическим или частным портам относятся порты с 49152 по 65535. Обычно этот диапазон используется для эфемерных портов .

Сетевое поведение [ править ]

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

Сканирование портов [ править ]

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

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

Примером использования портов является почтовая система Интернета . Сервер, используемый для отправки и получения электронной почты, обычно требует двух сервисов. Первая служба используется для передачи электронной почты на другие серверы и обратно. Это достигается с помощью простого протокола передачи почты (SMTP). Приложение службы SMTP обычно прослушивает TCP-порт 25 на предмет входящих запросов. Вторая услуга - это обычно протокол почтового отделения (POP) или протокол доступа к сообщениям в Интернете (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-битным. [4] Первые 32 бита были похожи на сегодняшний адрес IPv4, но в то время наиболее значимые 8 бит были номером хоста. Наименее значимая часть номера сокета (биты с 33 по 40) была единицей, называемой другим восьмибитным числом , сокращенно AEN. [5] Сегодня под сетевым сокетом понимается связанное, но отличное понятие, а именно внутренний адрес конечной точки (используется только внутри узла).

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

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

Документ обещал разрешение конфликтов на основе стандарта , который Постел опубликовавшие в мае 1972 года в RFC 349 , в котором он впервые предложил официальные поручения номеров портов , сетевые службы и предложил специальную административную функцию, которую он назвал царь , чтобы вести реестр. [7]

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

Служба Telnet получила первое официальное присвоение значения 1. В деталях, первый набор назначений был следующим: [7]

В начале ARPANET, то АЕН также называется имя сокета , [8] и был использован с Initial Connection Protocol (ICP), компонент программы управления сетью (NCP). [9] [10] NCP был предшественником современных Интернет-протоколов. Сегодня название терминологической службы по-прежнему тесно связано с номерами портов, первые из которых представляют собой текстовые строки, используемые в некоторых сетевых функциях для представления числового номера порта.

Ссылки [ править ]

  1. ^ Постел, Джон. «RFC 793» . Проверено 29 июня 2012 года .
  2. ^ Мишель Коттон; Ларс Эггерт; и другие. (Август 2011 г.). Орган по присвоению номеров Интернета (IANA) Процедуры для управления реестром имени службы и номера порта транспортного протокола . IETF . DOI : 10,17487 / RFC6335 . BCP 165. RFC 6335 .
  3. ^ "Номера портов" . Управление по распределению номеров в Интернете (IANA).
  4. RFC 36 , Примечания к протоколу , С. Крокер (16 марта 1970 г.)
  5. ^ a b RFC 433 , список номеров сокетов , J. Postel, N. Neigus (22 декабря 1972 г.)
  6. ^ RFC 322 , ну Известные Торцевые Числа , В. Серф, J. Постел (26 марта 1972)
  7. ^ a b RFC 349 , Предлагаемые стандартные номера разъемов J. Postel (30 мая 1972 г.)
  8. ^ RFC 197 , Протокол начального подключения - Пересмотрено , А. Шошани, Э. Харслем (14 июля 1971 г.)
  9. ^ NIC 7104, Справочник по протоколу ARPANET
  10. ^ Постел, Джон; Фейнлер, Э. (1978). Справочник по протоколу ARPANET . Менло-Парк, Калифорния: Сетевой информационный центр.