Стандартные порты и сетевые протоколы. Сети. Диапазоны портов TCP и UDP. Как проверить порты на роутере

Сегодня у нас на очереди порты программные, виртуальные. Нет таких прикладных программ сегодня, которые не используют в своей работе сетевые протоколы для обмена данными. Для их передачи данных используются транспортные протоколы, самые популярные — это TCP/IP и UDP. Чтобы ваш браузер «понял», что некая информация поступила для него, она должна попасть на программный порт, который и «прослушивает» ваш браузер.

  • Важнейшей функцией TCP/IP и UDP является идентификация программы (или процесса), которая сгенерировала переносимые данные. Для этого и используется номер порта, который назначен данному процессу организацией IANA . Тут тоже давно существуют свои стандарты и номера портов опубликованы в RFC 1700 . На компьютере список портов можно найти в файле SERVICES клиента TCP/IP.

Когда пакет достигает цели, протокол транспортного уровня (в нашем случае TCP/IP), принимает дейтаграмму, считывает номер порта из соответствующего поля и передает эту информацию программе (или протоколу), которая начинает работу с полученными данными.

Всем основным приложениям в Интернет присвоены определенные номера портов, которые называют «хорошо известными портами». Например, стандартный порт WEB — сервера идет под номером 80, прокси-сервер может иметь номер 8080, FTP сервер работает с портом 21 или 20.

Кратко перечислю хорошо известные номера портов в разрезе сервисов:

  • ftp-data. Канал данных файлового транспортного протокола, используется для передачи файлов между системами по протоколу TCP. Используется 21 порт;
  • ftp . Управляющий канал FTP. Используется участниками сеанса этого канала для обмена командами и откликами на них по протоколу TCP. Использует 20 порт;
  • telnet. Используется для выполнения команд на удаленном компьютере через порт № 23 через протокол TCP;
  • SMTP . Или — простой почтовый протокол для передачи данных по email. Раньше использовался порт под номером 25, сейчас используется шифрование и номер порта уже другой. Зависит от поставщика услуг;
  • Domain . Использует 53 порт по протоколам UDP и TCP для получения запросов на разрешение имен хостов;
  • http. Транспортный протокол для гипертекстовой разметки. Используется для передачи запросов от браузера (например, ваши запросы в Яндексе). Используется 80 порт;
  • POP3 (почтовый офисный протокол версии 3). Используется для получения электронной почты. до шифрования использовал 110 порт, сейчас номер изменился. Номера портов нужно уточнять у поставщика услуг.

Когда трафик перенаправляется другой системе, TCP/IP использует комбинацию и определенного порта. Такая связка называется «Сокет». К примеру, из Интернета или локальной сети можно получить доступ к папке фтп-сервера, указав через двоеточие IP- адрес и порт: 192.168.0.3:21.

Хорошо известные номера портов не являются чем-то жестко регламентируемым. Их можно менять своему усмотрению. В этом случае в настройках программы прописывается нужный порт, а при обращении к нему через браузер его так же нужно указывать в адресной строке. Это необходимо делать для проверки на открытость или закрытость того или иного порта.

Что такое динамические порты FTP

Поскольку обычно запросы идут на сервер от клиента (а не наоборот), то хорошо известные номера портов актуальны для серверов. Они «слушают» через порты своих клиентов, которым эти номера не нужны. На время связи программа- клиент (или операционная система) использует свой временный номер порта, или некий диапазон номеров. IANA задает номера от 1 до 1023. А временные номера начинаются с 1024 и выше. Программа FTP- клиент работает таким же образом — у нее указан свой временный диапазон, по которому она пытается «достучаться» до нужного сервера.

Когда мы настраиваем FTP — сервер, мы прописываем 21 порт для передачи данных. Но, программа, которая непосредственно руководит сервером, должна не только передавать данные, а еще давать доступ к данным пользователями этого сервера. С помощью такого же диапазона временных (или динамических) портов. Через эти порты она «слушает»пользователей ФТП сервера и устанавливает соединения. Диапазон динамических портов FTP задается при настройке соответствующей программы:

В Windows Server 2012-2016 можно задать произвольный диапазон портов прямо в операционной системе, не пользуясь сторонними программами. Диапазон номеров задается от 1024 до 65535, это ограничение транспортного протокола.

Как проверить порты на роутере

Здесь речь идет о возможности доступа к вашему компьютеру из Интернет. К примеру, у вас дома есть сеть из нескольких компьютеров. Внутри сети доступ к ним существует. А из интернета доступа к ним нет, хотя интернет у вас дома есть. Некоторые «поднимают» у себя дома игровой сервер, чтобы с друзьями играть по сети. В этом случае нужен доступ к серверу из Интернет, что и осуществляется форвардингом портов.

Открытые порты могут угрожать безопасности компьютера. Если вашему компьютеру присвоен внешний IP адрес, то такая проверка актуальна для Вас. Проверить можно с помощью многочисленных онлайн сервисов. Вводите свой внешний IP и готово:

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

У меня для фтп включено вот такое правило. Подробнее, как открывать порты на маршрутизаторе я рассказываю тут.

Как проверить открыт порт на компьютере Win10, или нет

Даже если порт открыт на маршрутизаторе, его можно закрыть на целевом компьютере. И тогда доступа через эту лазейку через интернет не будет. Различные вирусы так же используют в своей работе порты. Если вы видите некий открытый порт у себя, нужно найти программу, которая его использует. Если не находите — тогда нужно проводить антивирусную проверку. Я пользуюсь отечественными бесплатными утилитами — касперский и доктор веб.

Получаем список открытых портов на компьютере сети

Для того, чтобы получить список портов, нужно сначала запустить командную строку (обязательно от имени администратора) :

И скопировать туда команду «netstat -bn»

Будет выведен список сокетов, а так же приложений, которые идентифицированы с ними в данный момент. Можно увидеть и адреса внешних ресурсов, которые обмениваются данными с портами:


Порты компьютера и файрвол

Файрвол (или брандмауэер) это фильтр, который закрывает порты кроме хорошо известных, и тех которые используются установленными программами. Впрочем, и эти порты можно легко закрывать и снова открывать вручную. Данное программное обеспечение идет в составе операционных систем. Дополнительно его можно активировать в антивирусной программе, а так же на роутере.

Каждая из них на своем уровне отсеивает ненужные запросы, в результате чего обмена данными по этим портам не происходит. Безопасность системы в целом становится надежнее. В Windows брандмауэр можно найти в «Панели управления».


Если при входе файрвол у вас выглядит так как у меня — он отключен. Если что-то не работает (например, никак не настроить FTP) то можно отключить его, чтобы убедится что это именно брандамауэр блокирует ваши соединения.

Включить брандмауэр можно нажатием на одноименную ссылку в левой части окна. При этом не делайте максимальной блокировки портов:

У антивирусов свой файрвол, можно использовать и его. Но, это по началу может доставить неудобства, потому что программу надо обучать. При каждом соединении она будет спрашивать у вас разрешения на соединения и прописывать правила. Так как порты временные тоже будут, то процесс обучения растягивается надолго. Поэтому учится открывать порты мы будем на классическом виндовом брандмауэре.

Как открыть порты в брандмауэре Windows 10(49, 50, 4955, 25655)

Чтобы снять фильтры со всех портов — отключаем файрвол насовсем. Если нужна тонкая настройка — тогда будем настраивать каждый порт опционально. Заходим далее в «Дополнительные параметры»:

Затем нам нужно будет настроить правила для входящих и исходящих подключений. Все наглядно — зеленый цвет «разрешено», красный цвет — «запрещено».

Чтобы создать правило — нажимаем правой кнопкой мыши на «входящих подключениях» и создаем нужное нам. Обратите внимание — если у вас есть программа, использующая временные динамические порты — можно указать ее, а не номер порта. Для асов предусмотрены настраиваемые правила — можно настроить фильтр в сочетании со службами и программами.

Мы будем настраивать порт, поэтому выбираем «Для порта» и жмем «Далее».

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

Безопасное подключение требует проверки подлинности и выбирается, только если используется защищенное соединение. Поэтому выбираем верхний пункт. Далее, мы выбираем все доступные типы сетей на нашем компьютере:

Не забываем указать имя нашего правила, чтобы потом было легко его найти. На этом настройка брандмауэра для входящих подключений завершена.

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

Для полноценного обмена данными следует сделать такие же настройки правил для исходящих подключений. Если вы планируете через эти порты настроить доступ из интернета — нужно пробросить эти порты на роутере. А на сегодня информации достаточно, удачи!

Про сетевые порты компьютера.

В статье доступно описывается, что есть системный порт, зачем он программам нужен, как и какие устройства используют порты для общения в сети, и какое отношение имеют порты к безопасности ваших данных. Статья вводная; о том, как контролировать системные порты, правильно настраивать и сканировать, избегая ошибок и понимая, что происходит, поговорим в другой раз.

Сетевые порты компьютера: что это такое?

Как только компьютеры собираются обменяться информацией по сети, они сразу открывают информационные порталы для обмена. В архитектуре сети общение между двумя ЛЮБЫМИ системами зиждется на пяти непреложных принципах. Так, чтобы данные “перелетели” из точки А в точку Б , должны быть известны:

  • IP адрес источника информации
  • IP адрес получателя
  • протокол, по которому устройства будут общаться
  • порт передачи источника
  • и порт назначения, используемый транспортным протоколом RFC793

Порт – это некое виртуальное расширение, дополнение к сетевому адресу (как дополнение в цифрах к названию улицы или дому в адресе, по которому вы проживаете). Почтальон придёт на вашу улицу, но письмо не доставит – он не знает кому, ибо номер квартиры ему не известен. Так и информация дойдёт до вашего компьютера по IP , но без надлежащего номера порта информация в компьютер не попадёт. Компьютер просто не поймёт, как обработать её, с помощью какого приложения. Сетевые порты компьютера – это тропинки между сервисами и , которые запущены в установленной на компьютере операционной системе и материнскими\сестринскими процессами на компьютерах-хостах, которые находятся порой за тысячи километров от вас.

Кстати, у . Это физические разъёмы, которые, в отличие от описываемых, можно потрогать. Но функцию они выполняют, в сущности, ту же: все порты призваны принимать информацию с других устройств.

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

Что такое порты компьютера: а сколько их?

В компьютере точное количество портов – 65 535 . И ух них есть своя градация. Так, порты с номерами до 1023 Линукс и Unix-подобными ОС считаются за “критически важные” для сетевой деятельности системы, так что для доступа к ним и службам, с ними связанными часто требуются root права. Windows также их считает системными и пристально следит за ними.

Порты от 1024 до 49151 имеют гриф “готовые к регистрации”. Это означает, что данные порты зарезервированы или могут быть зарезервированы за определёнными службами. К счастью или сожалению, они за этими сервисами не закреплены прочными правилами, однако могут дать ключ для распознавания запущенной программы на стороне хоста. Остальные (начиная с 49152 ) порты не зарегистрированы и используются по усмотрению пользователей ОС и имеют название “динамические” порты. Так что запоминать, какой порт под какую службу “заточен”, часто просто бесполезно (по крайней мере, сегодня; однако ситуация может измениться). Но существует список портов, которые уже “испокон веков” используются конкретными сервисами:

20 : FTP данные
21 : FTP контроль
22 : SSH
23 : Telnet <= незащищённый, так что не рекомендуется к использованию
25 : SMTP
43 : WHOIS
53 : DNS сервисы
67 : DHCP сервис
68 : DHCP клиент
80 : HTTP трафик <= обычный веб трафик
110 : POP3 почтовый
113 : сервисы аутентификации в IRC сетях
143 : IMAP почтовый
161 : SNMP
194 : IRC
389 : LDAP
443 : HTTPS <= защищённый сетевой трафик
587 : SMTP <= добавление сообщений
631 : CUPS порт для виртуальных принтеров.

Есть ещё кое-что, о чём нужно знать, знакомясь с тем, что такое порты компьютера. Это специальные термины, которые характеризуют состояние портов в смысле обмена данными в текущий момент. Итак:

  • Порт – сетевая локализация в операционной системе с присвоением конкретного числового значения для обмена информацией по соответствующим протоколам
  • Интернет-сокеты – или просто сокеты – файловые дескрипторы, конкретизирующие IP адрес и ассоциированный с ним номер порта плюс специальный протокол передачи, который будет работать с данными
  • Привязка – процесс использования службой или сервисом интернет-сокета при передаче и приёме файлов
  • Прослушивание – попытка связаться службой или сервисом с портом/протоколом/IP адресом или комбинацией этих составляющих сетевой идентификации системы с целью стать на ожидание запросов со стороны клиента сервиса
  • – проверка состояния портов с целью распознать их готовность к дальнейшим действиям

Что такое порты компьютера. Хотите полюбоваться на них?

Со списком распространённых портов вы знакомы, однако некоторые сервисы вполне могут использовать порт, по умолчанию назначенный не для них. Или же, что не редкость, открытые порты применяются в качестве лазейки для злоумышленника. Так что, если вы решили самостоятельно менять настройки портов, нужно убедиться, что законопослушные клиент и сервер найдут друг друга. В противном случае стоит позволить Windows заблокировать порт, настроить блокировку в роутере или понадеяться на провайдера, который частенько порты блокирует ещё на излёте, особо клиентуру о том не спрашивая.

Вы можете прямо сейчас посмотреть на своём компьютере, какие порты чем занимаются. Наберите в терминале:

less /etc/services

и крутите мышкой до конца. Вот они во всей красе.

В Кали Линукс полезная во всех смыслах nmap тоже может отобразить их список:

Less /usr/share/nmap/nmap-services

Если вы читаете эту статью в Windows, чтобы посмотреть сейчас открытые порты, запустите консоль команд от имени администратора cmd и выполните в ней команду:

Netstat -a

Однако более развёрнуто работающие в Windows порты вам откроет небольшая программка с названием Process and port analyzer , которую можно легко скачать в сети. Она просто и доходчиво объяснит, какие порты сейчас открыты и какие программы эти порты слушают. Вот одна из вкладок утилиты:

С помощью программы легко можно проверить местонахождение этого процесса в системе и определиться, насколько он безопасен.

Компьютерные порты и сетевая безопасность

Программы, и службы, которые здесь описаны, позволяют вам увидеть порты, открытые именно в вашей ОС (Windows и Linux) для каких-то уже работающих на компьютере программ. Однако помните, что в системе передачи информации между вашим компьютером и далёким веб-сервером где-то в Голландии, стоит ещё немало устройств, которые фильтруют трафик более серьёзно, в том числе контролируя порты (кстати, в том числе и находящийся в вашей же комнате роутер). Не ваши, конечно. Но именно этим серверам решать, попадут ли какие-то данные в вашу Windows. Прикладывает к этому руку и ваш провайдер, которому вы платите деньги за выход в сеть, блокируя порты в целях безопасности или для недопущения излишней сетевой активности (а вдруг вы захотите настроить у себя дома собственный веб-сервер? – не получится).

Зачем это делается? Позвольте продолжить аналогию с домами и улицами. Представьте, что вы решили купить гараж для авто (компьютера ) в близлежащем кооперативе. Первое, что нужно сделать – защитить и усилить невозможность в помещение проникнуть: поставить хорошие двери и установить надёжные замки (закрыть порты ). Но что ещё можно сделать? Кто-то ставит сигнализацию (специальные сетевые сканеры для проверки состояния портов ). Накопить денег и установить дополнительный забор с воротами (роутер со встроенным фаерволлом ), чтобы внутри можно было парковать и мотоцикл (планшет ) . А чтобы газоны не испоганили грузовики, со своей стороны правление (провайдер ) установило автоматический шлагбаум (сетевые анти- фильтры ): всё вроде бы открыто, но чужой не проедет. И так далее…

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

Прочитано: 2 419

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

Порт всегда связан с IP-адресом хоста и типом и, таким образом, завершает назначение адреса сеанса связи. Он идентифицируется для каждого адреса и протокола с помощью 16-битного числа, широко известного как номер порта. Конкретные номера портов часто используются для определения конкретных услуг. Из тысяч перечисленных 1024 хорошо известных номера портов защищены в соответствии с соглашением, чтобы определить конкретные типы услуг на хосте. Протоколы, которые в основном используют порты, служат для управления процессами (например, протокол управления передачей (TCP) и User Datagram Protocol (UDP) из комплекта протоколов Internet).

Значение

TCP-порты не нужны по прямым ссылкам типа «точка-точка», когда компьютеры на каждом конце могут работать только с одной программой одновременно. Они стали необходимы после того, как машины оказались способны выполнять более одной программы в одно время, и оказались подключены к современным сетям с пакетной коммутацией. В модели клиент-серверной порты и сетевые клиенты подключаются к инициации обслуживания, предоставляют услуги мультиплексирования, после того как первоначальный обмен данными связывается с известным номером порта, и он освобождается путем переключения каждого экземпляра обслуживания запросов к выделенной линии. Происходит подключение к конкретному номеру, и благодаря этому дополнительные клиенты могут обслуживаться без ожидания.

Детали

Протоколы передачи данных - Transmission Control Protocol (TCP) и User Datagram Protocol (UDP) - применяются для того, чтобы указать номер порта назначения и источник в своих заголовках сегментов. Номер порта представляет собой 16-разрядное целое число без знака. Таким образом, он может быть в диапазоне от 0 до 65535.

Тем не менее TCP-порты не могут использовать номер 0. Порт источника для UDP не обязателен, и значение, равное нулю, означает его отсутствие.

Процесс связывает свои входные или выходные каналы через интернет-сокет (тип дескриптора файла) посредством транспортного протокола, номера порта и IP-адреса. Этот процесс известен как связывание, и он дает возможность передачи и приема данных через сеть.

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

Как они используются

Приложения, реализующие общие службы, часто используют специально зарезервированный и хорошо известный список портов TCP и UDP для приема запросов на обслуживание от клиентов. Этот процесс известен как прослушивание, и он включает в себя получение запроса с хорошо известного порта и установления диалога между сервером и клиентом «один-к-одному», с использованием одного и того же номера локального порта. Другие клиенты могут продолжать подключаться - это возможно, так как соединение TCP идентифицируется как цепочка, состоящая из локального и удаленного адресов и портов. Стандартные порты TCP и UDP определяются по соглашению под контролем Internet Assigned Numbers Authority (IANA).

Ядро сетевых сервисов (в первую очередь, WorldWideWeb), как правило, использует небольшие номера портов - меньше, чем 1024. Во многих операционных системах требуются специальные привилегии для приложений для привязки к ним, потому что они часто считаются критическими для функционирования IP-сетей. С другой стороны, конечный клиент соединения, как правило, применяет большое их количество, выделенных для краткосрочного использования, поэтому существуют так называемые эфемерные порты.

Структура

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

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

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

Примеры использования

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

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

Применение в URL-адресах

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

Список портов TCP и UDP

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

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

Широко известные примеры

Примеры, находящиеся в данном списке, включают в себя:

  • TCP 443 порт: HTTP Secure (HTTPS).
  • 22: Secure Shell (SSH).
  • 25: Простой протокол передачи почты (SMTP).
  • 53: Система доменных имен (DNS).
  • 80: Протокол передачи гипертекста (HTTP).
  • 119: Протокол передачи сетевых новостей (NNTP).
  • 123: Протокол сетевого времени (NTP)..
  • 143: Internet Message Access Protocol (IMAP)
  • 161: Простой протокол управления сетью (SNMP)1.
  • 94: Internet Relay Chat (IRC).

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

История создания

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

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

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

Первый список TCP-портов имел 256 значений AEN, которые были разделены на следующие диапазоны:

  • От 0 до 63: стандартные функции всей сети
  • От 64 до 127: хост-специфичные функции
  • От 128 до 239: зарезервированные для будущего использования
  • От 240 до 255: любая экспериментальная функция.

Служба Telnet получила первое официальное присвоение значения 1. В начале существования ARPANET термином AEN также называли имя сокета, которое использовалось с первоначальным протоколом соединения (MSP) и компонентом программы управления сетью (NCP). При этом NCP был предшественником современных Интернет-протоколов, использующих порты TCP/IP.

Порты TCP/IP

Существуют два типа межкомпьютерного обмена данны­ми- датагроммы и сеансы. Датаграмма — это сообщение, которое не требует подтверждения о приеме от принимающей стороны, а если такое подтверждение необходимо, то адресат должен сам послать специальное сообщение. Для осуществ­ления обмена данными таким способом принимающая и пере­дающая стороны должны строго придерживаться определен­ного протокола во избежание потери информации. Каждая датаграмма является самостоятельным сообщением, и при наличии нескольких датаграмм в ЛВС их доставка адресату, вообще говоря, не гарантируется. При этом датаграмма обычно является частью какого-либо сообщения, и в большинстве ЛВС скорость передачи датаграмм гораздо выше, чем сооб­щений в сеансах.

В сеансе предполагается создание логической связи для обмена сообщениями между компьютерами и гарантируется получение сообщений. В то время как датаграммы могут пе­редаваться в произвольные моменты времени, в сеансе перед передачей сообщения происходит от1фытие сеанса, а по окон­чании обмена данными сеанс должен быть закрыт.

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

На практике вместо того, чтобы считать процесс конечным местом назначения, полагают, что каждый компьютер имеет набор некоторых точек назначения, называемых протоколь­ными портами. Каждый порт идентифицируют целым поло­жительным числом (от 0 до 65535). В этом случае операцион­ная система обеспечивает механизм взаимодействия, исполь­зуемый процессами для указания порта, на котором они работают, или порта, к которому нужен доступ. Обычно пор­ты являются Буферизированными, и данные, приходящие в конкретный порт до того, как процесс готов их получить, не будут потеряны: они будут помещены в очередь до тех пор, пока процесс не извлечет их.

Чтобы лучше понять технологию портов, представьте, что вы пришли в банк, чтобы сделать вклад. Для этого вам необхо­димо подойти к определенному окошку, где оператор оформит документы и вы откроете счет. В этом примере банк представ­ляет собой компьютер, а операторы банка — программы, кото­рые выполняют определенную работу, А вот окошки — это и есть порты, при этом каждое окошко в банке часто нумеруется (1, 2,3 …).

То же самое относится и к портам, следовательно, чтобы связаться с портом на другом компьютере, отправитель должен знать как IP-адрес компьютера-получателя, так и номер порта в компьютере. Каждое сообще­ние содержит как номер порта компьютера, которому адресо­вано сообщение, так и номер порта-источника компьютера, которому должен прийти ответ. Таким образом реализуется возможность ответить отправителю для каждого процесса.

Порты TCP/IP с номерами от 0 до 1023 являются привилегирован­ными и используются сетевыми службами, которые, в свою очередь, запущены с привилегиями администратора (супер пользователя). Например, служба доступа к файлам и папкам Windows использует порт 139, однако если она не запущена на компьютере, то при попытке обратиться к данной службе (т.е. к данному порту) будет получено сообщение об ошибке.

Порты TCP/IP с 1023 до 65535 являются непривилегированными и используются программами-клиентами для получения ответов от серверов. Например, web-браузер пользователя, обращаясь к web-серверу, использует порт 44587 своего компьютера, но обращается к 80 порту web-сервера. Получив запрос, web-сервер отправляет ответ на порт 44587, который используется web-браузером.

Номер порта для «привязки» службы выбирается в зависимости от его функционального назначения. За присвоение номеров портов определённым сетевым службам отвечает IANA .

Номера портов находятся в диапазоне 0—65535 и разделены на 3 категории:


Номера портов

Категория

Описание
0—1023 Общеизвестные порты Номера портов назначены IANA и на большинстве систем могут быть использованы исключительно процессами системы (или пользователя root) или прикладными программами, запущенными привилегированными пользователями.

Не должны использоваться без регистрации IANA. Процедура регистрации определена в разделе 19.9 RFC 4340 (англ.) .

1024—49151 Зарегистрированные порты Номера портов включены в каталог IANA и на большинстве систем могут быть использованы процессами обычных пользователей или программами, запущенными обычными пользователями.

Не должны использоваться без регистрации IANA. Процедура регистрации определена в разделе 19.9 RFC 4340.

49152—65535 Динамические порты Предназначены для временного использования (например, для тестирования приложений до регистрации IANA), а также в качестве клиентских (используемых для частных служб внутри закрытых сетей). Эти порты не могут быть зарегистрированы

Локальная копия списка

Локальная копия списка входит в установочный пакет сетевых операционных систем . Файл локальной копии списка обычно называется services и в различных операционных системах «лежит» в разных местах:

Windows 98/ME

C:\Windows\services

Windows NT/XP

C:\Windows\system32\drivers\etc\services

UNIX-подобные ОС

Перейти к: 1 Термин не должны в данном контексте используется в значении определения SHOULD NOT , данного в RFC 2119 (англ.) :

«НЕ ДОЛЖЕН» или «НЕ РЕКОМЕНДУЕТСЯ» означает, что при определённых обстоятельствах возможны отдельные случаи, обусловленные вескими причинами, когда нарушение указанных рекомендаций приемлемо или даже предпочтительно, но такие причины и обстоятельства должны быть понятны и тщательно взвешены, прежде чем нарушить рекомендации, помеченные данной фразой.



Понравилась статья? Поделиться с друзьями: