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

В компьютерных сетей , порт представляет собой конечную точку связи. На программном уровне в операционной системе порт - это логическая конструкция, которая идентифицирует конкретный процесс или тип сетевой службы . Порт идентифицируется для каждого транспортного протокола и комбинации адресов 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 , Хорошо известные номера сокетов , В. Серф, Дж. Постел (26 марта 1972 г.)
  7. ^ a b RFC 349 , Предлагаемые стандартные номера разъемов J. Postel (30 мая 1972 г.)
  8. RFC 197 , Протокол начального подключения - Пересмотрено , А. Шошани, Э. Харслем (14 июля 1971 г.)
  9. ^ NIC 7104, Справочник по протоколу ARPANET
  10. ^ Постел, Джон; Фейнлер, Э. (1978). Справочник по протоколу ARPANET . Менло-Парк, Калифорния: Сетевой информационный центр.