Порт tcp ip: Порты TCP и UDP, используемые программными продуктами Apple

Содержание

Настройка > Параметры сетевого соединения > Настройки TCP/IP

 

Наиболее широко используемые протоколы сегодня это TCP (Transport Control Protocol) и UDP (User Datagram Protocol). TCP это проверенный и надежный протокол, который на сегодняшний день, наверное, самый широко используемый протокол в сетях IP. Однако TCP имеет ряд ограничений и излишнюю функциональность, что может быть ‘слишком надежным’ или трудозатратным для множества систем. Однако когда речь о TCP ведется как о транспортном протоколе для множества приложений с последовательной передачей данных, TCP может оказаться помехой для обеспечения устойчивой связи. В то же время, UDP это более простой протокол, и используется довольно широко сегодня — особенно в областях, где пропускная способность канала передачи данных или производительность системы ограничены. В качестве примера можно привести использование UDP как транспортного протокола для беспроводной передачи данных.

 

UDP это первый протокол, который не требует установки соединения для передачи данных. Как и TCP, UDP работает как верхний слой IP сетей. Но в отличие от TCP, UDP не помогает при доставке данных и не имеет средств по контролю ошибок. Зато протокол предлагает возможность прямой отправки и приема пакетов данных, что позволяет приложениям самим контролировать целостность данных и перепосылать данные по необходимости. Одно из применений этого — отправка широковещательных пакетов данных малого размера. В настоящее время протокол UDP используется везде начиная от браузеров и заканчивая Instant Messaging, систем по передачи видео и голосовых данных в приложения IP.

 

 

Advanced NMEA Data Logger может быть настроен для протоколирования данных одновременно с нескольких портов на одном компьютере. Для этого в программе создаются конфигурации для каждого порта. Каждая конфигурация может иметь различные настройки для каждого TCP/IP порта и  имеет несколько параметров, которые описаны ниже.

 

Каждая конфигурация (или по другому соединение TCP/IP) в Advanced NMEA Data Logger может работать как:

 

1.Клиент. Вам необходимо указать IP адрес и порт удаленного компьютера, на котором работает сервер TCP/IP, и к которому вы хотите подсоединиться. IP адрес, который укажите в Advanced NMEA Data Logger во время конфигурации, может быть и доменным именем (типа www.yourserver.com) или именем компьютера в локальной сети. Например, если вы хотите соединиться с компьютером в локальной сети, который имеет имя «Plant1», вы можете просто указать «Plant1» в поле ввода IP адреса, вместо самого IP адреса. Это бывает полезно, когда вы настраиваете Advanced NMEA Data Logger как клиента и IP адреса в вашей сети выдаются динамически. Поэтому удобнее использовать имя вместо IP адреса;
2.Сервер. В этом режиме вы должны указать IP адрес компьютера, на котором работает программа, а также порт, который будет прослушиваться. Если ваш компьютер имеет несколько сетевых карт или сетевых интерфейсов, тогда Advanced NMEA Data Logger будет отображать список IP адресов для каждого сетевого интерфейса (NIC), установленного на вашем компьютере. Поэтому вы должны выбрать IP адрес того интерфейса, который вы хотите использовать. Для того, чтобы Advanced NMEA Data Logger мог работать как сервер необходимо, чтобы имел хотя бы одну сетевую карту, с присвоенным ей IP адресом. В Microsoft Windows, протокол TCP/может быть настроен на автоматическое получение IP адреса для компьютера. В этом случае вам необходимо связаться с администратором и попросить присвоить вашему компьютеру статический IP адрес и установить данный IP адрес выбранному сетевому интерфейсу.

 

После того, как вы настроили параметры соединения, вы должны нажать кнопку «OK» для того, чтобы установить соединение между Advanced NMEA Data Logger и выбранным портом TCP/IP. Если данная конфигурация порта настроена как клиент, то программа немедленно попытается установить соединение с удаленным IP сервером. Если сервер недоступен, то Advanced NMEA Data Logger может постоянно пробовать установить соединение. Если конфигурация настроена как сервер, то программа будет прослушивать указанный порт, и ожидать подсоединения клиента.

 

Если вы сконфигурировали несколько портов, тогда Advanced NMEA Data Logger открывает эти порты и начинает сбор данных. Если порты открыты успешно, то строка статуса в главном окне программы отображает статус порта (рис. 1.1.1). Но перед этим необходимо настроить параметры, описанные ниже.

 

Вы можете создать новую конфигурацию, нажав кнопку с плюсом на панели инструментов в главном окне программы (рис. 1.1.1) или через меню «Опции». После того, как вы нажмете эту кнопку, будет открыто диалоговое окно (рис. 2.2.2). Данное окно содержит несколько закладок с параметрами. Закладка «Настройка IP» описана в этом разделе.

 

Для того чтобы производить запись с нескольких портов TCP/IP одновременно вам необходимо создать несколько конфигураций. Для этого повторите операцию, описанную выше для каждой конфигурации. Позднее вы можете получить доступ к каждой конфигурации с помощью выпадающего меню рядом с кнопкой «Плюс» (рис. 2.2.1).

 

Рис. 2.2.1. Доступ к конфигурации порта

 

Закладка «Настройка IP» содержит несколько обязательных настроек для каждого порта TCP/IP: IP адрес и порт. Необходимо ввести или выбрать IP адрес из выпадающего списка и указать номер порта, а затем кликнуть на кнопке «Плюс».

 

Рис. 2.2.2. Параметры TCP/IP

 

 

В дополнение к IP адресу, вы должны указать порт, к которому вы хотите подсоединиться. Каждый компьютер имеет множество портов, которые позволяют связывать компьютеры по множеству каналов. Некоторые порты общеизвестны. Например, порт, который обычно используется для отправки писем через SMTP — 25, порт the telnet — 23, порт протокола NNTP — 119, и т.д. Для того, чтобы просмотреть список общеизвестных портов взгляните в файл SERVICES, который расположен в папке Windows (для Windows NT этот файл в папке  WINNT\SYSTEM32\DRIVERS\ETC). Файл SERVICES — это текстовый файл, который используется Advanced NMEA Data Logger для осуществления поиска общеизвестных портов (для того, чтобы получить имя сетевого сервиса по имени порта) и поиска имени сетевого сервиса (для того, чтобы получить номер порта по имени сетевого сервиса). Вы можете открыть этот файл в любом текстовом редакторе и посмотреть список сетевых служб и их номер портов. Это общеизвестные порты не закреплены жестко, но по традиции используются для указанных сетевых служб и их рекомендуется не использовать для своих нужд. Во время настройки программы вы должны выбрать номер порта, который не указан в этом файле, или не используются другими программами на вашем компьютере. В большинстве случаем достаточно выбрать порт, не принадлежащий к группе общеизвестных.

 

Комбинация IP адреса и порта используется для создания сокета (socket). Сокет создается перед тем как установить соединение между двумя устройствами. Как же зависит тип сокета от того, является программа сервером или клиентом. Если программа это сервер, то она создает сокет, открывает его, и затем прослушивает его, ожидая соединения от других устройств. В этот момент сервер находится в режиме ожидания соединения. Клиентское приложение, с другой стороны, создает сокет, использую IP адрес и порт соответствующего сервера, который в данный момент ожидает соединения. Клиент использует сокет для попытки установить соединение с сервером. Когда сервер получает сообщение о попытке соединения, он «просыпается» и принимает решение о том принять или отклонить соединение. Обычно проверка осуществляется проверкой IP адреса клиента со списком разрешенных адресов (некоторые сервера не проверяют клиентов и принимают все соединения). Если соединение было принято, то клиент начинаю обмениваться данными.

 

 

Если удаленный сервер (если программа работает в режиме клиента) или сетевой интерфейс (в режиме сервера) недоступны в момент подключения, то включите опцию «Пробовать соединиться после неудачной попытки», и Advanced NMEA Data Logger будет периодически пробовать установить соединение. Программа будет пробовать установить соединение каждые N секунд, которые вы можете указать в поле «Следующая попытка через (c)».

 

 

Эта опция активна в режиме сервера и позволяет определить один или несколько адресов, для которых разрешено подсоединяться к серверу. Соединения с IP адреса, который не указан в списке, будут отклонены. Эта опция очень полезна если вы передаете данные через Интернет соединение или сервер подсоединен к большой корпоративной сети. Вы можете указать несколько разрешенных адресов — один адрес в строке. Если вы оставите поле пустым, то Advanced NMEA Data Logger будет принимать соединения со всех IP адресов. Список разрешенных адресов можно задать на закладке «Опции сервера».

 

 

После установки брандмауэра или Microsoft Windows XP SP2 и выше, наш Advanced NMEA Data Logger может не работать. Windows Firewall, включенный по умолчанию, или ваш брандмауэр, блокирует сетевой доступ для непроверенных программ и может блокировать нормальную работу программы. Когда Windows Firewall определяет, что требуется сетевое соединение, которое неизвестно, то будет выведено окно Агента безопасности (Security Alert). Этот диалог выглядит похожим на диалог ниже:

 

Рис. 2.2.3. Предупреждение брандмауэра

 

Этот диалог включает следующие опции:

•Разблокировать программу;

•Заблокировать программу навсегда;

•Заблокировать программу временно, но спросить позже.

 

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

 

Замечание: Если вы использует брандмауэр другого производителя то, пожалуйста, обратитесь к документации на это ПО для того, чтобы узнать, как разблокировать нашу программу.

 

 

Закладка «Дополнительно» содержит дополнительные опции настройки TCP/IP соединения (рис. 2.2.4).

 

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

 

 

Следующие опции эффективны только в режиме «TCP/IP сервер»:

 

Лимит одновременных подключений — можно задать лимит одновременно подключенных клиентов к серверу. Это позволяет оптимизировать нагрузку на сервер при большом количестве клиентов.

 

Отсоединять неактивных клиентов через (с) — если клиент подключен, но при этом не передавал и не получал никаких данных в течение указанного времени, то соединение с этим клиентом будет разорвано. Если указать значение «-1», то отключение клиента не будет производиться.

 

 

Рис. 2.2.4. Дополнительные параметры

 

Следующие опции эффективны только для протокола TCP/IP в режиме сервера или клиента:

 

Режим keep-alive TCP (режим поддержания связи) — при активации этой опции программа будет периодически, с указанным интервалом, отсылать служебные пакеты. Если в течение указанного таймаута не будет получен ответ от клиента или сервера, то программа автоматически разорвет соединение, поскольку отсутствие ответа будет означать, что связь с сервером или клиентом была потеряна. Если будет выбран «Системный» режим keep-alive, то программа будет использовать системные значения интервала и таймаута, используемые Windows.

 

Замечание: Некоторые роутеры не поддерживают передачу служебных пакетов. В этом случае функция keep-alive работать не будет.

 

Следующие опции эффективны при работе программы в режиме сервера (TCP или UDP):

 

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

Стандартный монитор порта для TCP/IP — Windows Server

  • Чтение занимает 3 мин
Были ли сведения на этой странице полезными?

Оцените свои впечатления

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

В этой статье описывается, как работает стандартный монитор порта в Microsoft Windows Server 2003, и сравнивает его с монитором порта ЛНР.

Применяется к:   Windows Server 2003
Исходный номер КБ:   814586

Сводка

В этой пошаговой статье описывается установка стандартного монитора порта. Стандартный монитор порта подключает клиентов к сетевым принтерам, которые используют протокол TCP/IP.

Microsoft Windows Server 2003 предлагает стандартный монитор порта для устройств сетевой печати в качестве альтернативы монитору порта порта Line Printer Remote (LPR). Стандартный монитор порта был представлен в Microsoft Windows 2000. В Windows Server 2003 стандартный монитор порта был обновлен, чтобы обеспечить лучшую производительность и более подробный статус устройства.

Стандартный монитор порта использует простой протокол управления сетью (SNMP) для чтения конфигурации целевого устройства печати и определения подробного состояния устройства. Кроме того, стандартный монитор порта предоставляет более точную отчетность об ошибках, чем ограниченные сообщения об ошибках печати, которые включены другими мониторами порта, такими как монитор порта ЛНР. Например, стандартный монитор порта поддерживает ошибку «из бумаги».

Если стандартный монитор порта не может использовать порты TCP по умолчанию для настройки целевого устройства печати и SNMP, стандартный монитор порта использует протокол LPR. (Целевое устройство должно поддерживать протокол ЛНР.)

Примечание

Порт назначения TCP по умолчанию — 9100. Исходный порт TCP по умолчанию — это случайно выбранный открытый порт, который превышает 1023.

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

Установка стандартного монитора порта

  1. Нажмите Пуск и выберите пункт Принтеры и факсы.
  2. Дважды нажмите кнопку Добавить принтер.
  3. Когда начнется мастер добавления нового принтера, нажмите кнопку Далее.
  4. Выберите тип принтера, который необходимо настроить, а затем нажмите кнопку Далее.
  5. Нажмите кнопку Создать новый порт, щелкните Стандартный TCP/IP-порт в списке Тип порта, а затем нажмите кнопку Далее.
  6. Следуйте инструкциям, которые отображаются на экране, чтобы завершить мастер порта порта принтера Добавить стандартный TCP/IP-принтер. По мере продолжения стандартный порт отслеживает запросы устройства печати и пытается настроить его на основе ответов SNMP. Если модель принтера и параметры принтера определяются с помощью SNMP, не нужно выбирать принтер. Принтер автоматически настроен.

Дополнительная информация

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

Стандартный монитор порта использует протоколы печати RAW или LPR для отправки документов на принтер. Вместе эти протоколы поддерживают большинство современных принтеров TCP/IP. Не путайте эти протоколы печати с транспортными протоколами, такими как TCP/IP или Data Link Control (DLC).

По умолчанию стандартный монитор порта отклоняется от монитора порта ЛНР двумя способами:

  • Стандартный монитор порта не соответствует требованию RFC 1179 о том, что исходный порт TCP находится между портом 721 и портом 731. Стандартный монитор порта использует порты из общего безотлуживного пула портов. Этот пул включает порты 1024 и больше.
  • Монитор порта ЛНР требует, чтобы задания печати включали сведения о размере заданий печати. Когда вы отправляете задание печати с сведениями о размере задания, монитор порта должен два раза отослать задание, один раз определить размер и один раз отправить задание шпалеру. Производительность печати улучшается, если задание замазается только один раз. Поэтому стандартный монитор порта отправляет задание на шпалер без определения фактического размера задания. Стандартный монитор порта утверждает, что задание является размером по умолчанию, независимо от фактического размера задания. В следующей таблице сравнивает стандартный монитор порта с монитором порта ЛНР:
LPR (RFC 1179 compliant) стандартный монитор порта
Ограничивается 721-731 исходными портами. Исходные порты из эфемерных портов. (9100 — это порт по умолчанию.)
Четырехминутное время в порту 3. Нет источника времени порта.
Однонаправленные отчеты о состоянии с одной ошибкой. Использует SNMP для подробных отчетов о состоянии и ошибках.
Файл управления требует двойной пульки для точного подсчета byte. Включает размыв одного файла по умолчанию. (Это настраивается с помощью свойств порта.)
Печать в порт назначения 515. Принты в пункт назначения 515 в режиме LPR.

Как выбрать порт TCP / IP по умолчанию для новой службы?



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

networking tcp
Поделиться Источник Kevin Wong     25 сентября 2008 в 15:08

12 ответов


  • Изменить порт назначения в заголовках TCP/IP всех исходящих пакетов

    Использовал туннель SSH для маршрутизации трафика, адресованного server1:port1 — server2:port2. Теперь проблема в том, что я хочу перенаправить все пакеты TCP/IP с рабочего стола, адресованные server1:port1 на server2:port2. используя файл hosts на windows, я сопоставил ip-адрес server1 как…

  • Boost asio ip tcp обнаружение ошибок iostream

    Приветствия. Я только начинаю работать с библиотекой boost::asio и столкнулся с некоторыми ранними трудностями, связанными с boost::asio::ip::tcp::iostream. Мой вопрос состоит из двух частей: 1.) Как подключить iostream, используя просто хост и номер порта? Я могу заставить примеры клиента и…



51

Идите сюда и выберите порт с описанием Unassigned

Поделиться Kevin Wong     25 сентября 2008 в 15:10



33

Первый шаг: посмотрите на листинг IANA :

Там вы увидите в конце списка

«Динамические и / или частные порты-это порты с 49152 по 65535»

так что это были бы ваши лучшие ставки, но как только вы выберете один из них, вы всегда сможете поискать его в google, чтобы узнать, есть ли достаточно популярное приложение, которое уже «claimed»

Поделиться curtisk     25 сентября 2008 в 15:11



7

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

Поделиться jj33     25 сентября 2008 в 15:20



5

Самый полный список официальных номеров портов IANA и неофициальных номеров портов, которые я знаю,-это nmap-services .

Поделиться Thorsten79     25 сентября 2008 в 15:13



2

Вы, вероятно, хотите избежать использования каких-либо портов из этого списка (Википедия).

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

Поделиться Mike Mazur     25 сентября 2008 в 15:12



2

Как упоминают другие, проверьте IANA.

Затем проверьте свои локальные системы /etc/services, чтобы увидеть, есть ли уже используемые пользовательские порты.

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

Поделиться Zathrus     25 сентября 2008 в 16:10



1

Обычно достаточно выбрать неназначенный продукт из списка IANA, но если вы говорите о коммерчески выпущенном продукте, вам действительно следует обратиться к IANA, чтобы получить его вам. Обратите внимание, что процесс выполнения этого прост, но медленный; в последний раз, когда я подавал заявку на него, это заняло год.

Поделиться Graeme Perrow     25 сентября 2008 в 15:25



1

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

В противном случае просто выберите неиспользуемый наугад.

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

Поделиться Mark Baker     25 сентября 2008 в 15:35


Поделиться Mahdi Perfect     15 апреля 2017 в 15:08


  • SQLServerException: TCP / IP-соединение с хостом не удалось

    Когда я запускаю веб-приложение, я получаю сообщение об ошибке Соединение TCP/IP с хостом,порт 1433 не удалось. Ошибка: — время ожидания соединения истекло. Проверьте свойства соединения, убедитесь, что экземпляр SQL Server запущен на хосте и принимает TCP/IP -соединения на порту, а также что…

  • MS SQL Server 2012: как настроить несколько экземпляров, доступных через TCP / IP

    Во время установки SQL Server 2012 Express интерфейс установки сказал, что может быть не более одного экземпляра по умолчанию, и что экземпляр по умолчанию может быть доступен через порт по умолчанию TCP/IP 1433. Однако он поражает, когда создается более одного экземпляра, должно быть возможно…



-1

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

Если под «open to the public at large» вы подразумеваете, что открываете порты в своих собственных системах, я бы побеседовал с вашими системными администраторами о том, с какими портами они чувствуют себя комфортно.

Поделиться Adam Bellaire     25 сентября 2008 в 15:11


Поделиться dsm     25 сентября 2008 в 15:13



-1

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

Поделиться Alexander     25 сентября 2008 в 16:03


Похожие вопросы:


Назначение портов TCP / IP для внутреннего использования приложений

Я написал службу WCF, размещенную службой Windows, и она должна прослушивать известный порт TCP/IP. Из какого диапазона я могу безопасно выделить порт для использования в моей организации? Этот порт…


Локальное тестирование соединения TCP / IP

В настоящее время у меня есть приложение, которое подключается к серверу Terminal через TCP/IP, используя адрес IP и порт. Можно ли мне создать макет TCP/IP-соединения локально на моем ноутбуке,…


Я не могу изменить порт по умолчанию sql server (1433)

Я хочу добавить еще один порт к порту 1433 по умолчанию sql server. Поэтому я открыл диспетчер конфигураций, выбрал Protocols for MSSQLSERVER , а затем дважды щелкнул по TCP/IP , чтобы увидеть его…


Изменить порт назначения в заголовках TCP/IP всех исходящих пакетов

Использовал туннель SSH для маршрутизации трафика, адресованного server1:port1 — server2:port2. Теперь проблема в том, что я хочу перенаправить все пакеты TCP/IP с рабочего стола, адресованные…


Boost asio ip tcp обнаружение ошибок iostream

Приветствия. Я только начинаю работать с библиотекой boost::asio и столкнулся с некоторыми ранними трудностями, связанными с boost::asio::ip::tcp::iostream. Мой вопрос состоит из двух частей: 1.)…


SQLServerException: TCP / IP-соединение с хостом не удалось

Когда я запускаю веб-приложение, я получаю сообщение об ошибке Соединение TCP/IP с хостом,порт 1433 не удалось. Ошибка: — время ожидания соединения истекло. Проверьте свойства соединения, убедитесь,…


MS SQL Server 2012: как настроить несколько экземпляров, доступных через TCP / IP

Во время установки SQL Server 2012 Express интерфейс установки сказал, что может быть не более одного экземпляра по умолчанию, и что экземпляр по умолчанию может быть доступен через порт по…


Порт no.s в пакетах TCP / IP

Я изучаю основы TCP/IP. Я сделал серверно-клиентское чат-приложение, в котором сервер открывает порт 1024, и клиент может отправить ему сообщение. Я немного запутался в содержании пакетов TCP / IP,…


Как подключиться к экземпляру по умолчанию с помощью нестандартного порта TCP

Я хочу подключиться к экземпляру MSSQLSERVER по умолчанию, используя нестандартный (нестандартный) порт TCP/IP в строке подключения. По умолчанию мы подключаемся к экземпляру по умолчанию, используя…


Изменить SQL Server порт по умолчанию TCP

Я хочу изменить порт SQL Server по умолчанию TCP на сервере. Я знаю, что порт по умолчанию-1433, и я знаю, как это сделать с UI, но мне нужен код, такой как реестр или batch file, или язык…

Протокол TCP/IP или как работает Интернет (для чайников)

В основе работы глобальной сети Интернет лежит  набор (стек) протоколов TCP/IP. Но эти термины лишь на первый взгляд кажутся сложными. На самом деле стек протоколов TCP/IP — это простой набор правил обмена информацией, и правила эти на самом деле вам хорошо известны, хоть вы, вероятно, об этом и не догадываетесь. Да, все именно так, по существу в принципах, лежащих в основе протоколов TCP/IP, нет ничего нового: все новое — это хорошо забытое старое.

Человек может учиться двумя путями:

  1. Через тупое формальное зазубривание шаблонных способов  решения  типовых задач (чему сейчас в основном и учат в школе). Такое обучение малоэффективно. Наверняка вам приходилось наблюдать панику и полную беспомощность бухгалтера при смене версии офисного софта — при малейшем изменении последовательности кликов мышки, требуемых для выполнения привычных действий. Или  приходилось видеть человека, впадающего в ступор при изменении интерфейса рабочего стола? 
  2. Через понимание сути проблем, явлений, закономерностей. Через понимание принципов построения той или иной системы. В этом случае обладание энциклопедическими знаниями не играет большой роли — недостающую информацию легко найти. Главное — знать, что искать. А для этого необходимо не формальное знание предмета, а понимание сути.

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

Итак, начнем.

Принципы работы интернет-протоколов TCP/IP по своей сути очень просты и сильно напоминают работу нашей советской почты.

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

На конверте письма будет написано примерно следующее:

Адрес отправителя:
От кого: Иванов Иван Иванович
Откуда: Ивантеевка, ул. Большая , д. 8, кв. 25

Адрес получателя:
Кому: Петров Петр Петрович
Куда: Москва, Усачевский переулок, д. 105, кв. 110

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

Каждый компьютер (он же: узел, хост) в рамках сети Интернет тоже имеет уникальный адрес, который называется IP-адрес (Internet Protocol Address), например: 195.34.32.116. IP адрес состоит из четырех десятичных чисел (от 0 до 255), разделенных точкой. Но знать только IP адрес компьютера еще недостаточно, т.к. в конечном счете обмениваются информацией не компьютеры сами по себе, а приложения, работающие на них. А на компьютере может одновременно работать сразу несколько приложений (например почтовый сервер, веб-сервер  и пр.). Для доставки обычного бумажного письма недостаточно знать только адрес дома — необходимо еще знать номер квартиры. Также и каждое программное приложение имеет подобный номер, именуемый номером порта. Большинство серверных приложений имеют стандартные номера, например: почтовый сервис привязан к порту с номером 25 (еще говорят: «слушает» порт, принимает на него сообщения), веб-сервис привязан к порту 80, FTP — к порту 21 и так далее.

Таким образом имеем следующую практически полную аналогию с нашим обычным почтовым адресом:

"адрес дома" = "IP компьютера"
"номер квартиры" = "номер порта"

В компьютерных сетях, работающих по протоколам TCP/IP, аналогом бумажного письма в конверте является пакет, который содержит собственно передаваемые данные и адресную информацию — адрес отправителя и адрес получателя, например:

Адрес отправителя (Source address):
IP: 82.146.49.55
Port: 2049

Адрес получателя (Destination address):
IP: 195.34.32.116
Port: 53

Данные пакета:
...

Конечно же в пакетах также присутствует служебная информация, но для понимания сути это не важно.

Обратите внимание, комбинация: «IP адрес и номер порта» — называется  «сокет».

В нашем примере мы с сокета 82.146.49.55:2049 посылаем пакет на сокет 195.34.32.116:53, т.е. пакет пойдет на компьютер, имеющий IP адрес 195.34.32.116, на порт 53. А порту 53 соответствует сервер распознавания имен (DNS-сервер), который примет этот пакет. Зная адрес отправителя, этот сервер  сможет после обработки нашего запроса сформировать ответный пакет, который пойдет в обратном направлении на сокет отправителя 82.146.49.55:2049, который для DNS сервера будет являться сокетом получателя.

Как правило взаимодействие осуществляется по схеме «клиент-сервер»: «клиент» запрашивает какую-либо информацию (например страницу сайта), сервер принимает запрос, обрабатывает его и посылает результат. Номера портов серверных приложений общеизвестны, например:  почтовый SMTP сервер «слушает» 25-й порт,  POP3 сервер, обеспечивающий чтение почты из ваших почтовых ящиков «слушает» 110-порт, веб-сервер — 80-й порт и пр.

Большинство программ на домашнем компьютере являются клиентами — например почтовый клиент Outlook, веб-обозреватели IE, FireFox и пр. 

Номера портов на клиенте не фиксированные как у сервера, а назначаются операционной системой динамически. Фиксированные серверные порты как правило имеют номера до 1024 (но есть исключения), а клиентские начинаются после 1024.

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

Однако человеку запоминать цифровые IP адреса трудно — куда удобнее работать с буквенными именами. Ведь намного легче запомнить слово, чем набор цифр. Так и сделано — любой цифровой IP адрес можно связать с  буквенно-цифровым именем. В результате например вместо 82.146.49.55 можно использовать имя www.ofnet.ru.  А преобразованием доменного имени в цифровой IP адрес занимается сервис доменных имен — DNS (Domain Name System).

Рассмотрим подробнее, как это работает. Ваш провайдер явно (на бумажке, для ручной настройки соединения) или неявно (через автоматическую настройку соединения) предоставляет вам IP адрес сервера имен (DNS). На компьютере с этим IP адресом работает приложение (сервер имен), которое знает все доменные имена в Интернете и соответствующие им цифровые IP адреса. DNS-сервер «слушает» 53-й порт, принимает на него запросы и выдает ответы, например:

Запрос от нашего компьютера: "Какой IP адрес соответствует имени www.ofnet.ru?"
Ответ сервера: "82.146.49.55."

Теперь рассмотрим, что происходит, когда в своем браузере вы набираете доменное имя (URL) этого сайта (www.ofnet.ru) и, нажав <enter>, в ответ от веб-сервера получаете страницу этого сайта.

Например:

IP адрес нашего компьютера: 91.76.65.216
Браузер: Internet Explorer (IE),
DNS сервер (стрима): 195.34.32.116 (у вас может быть другой), Страница, которую мы хотим открыть: www.ofnet.ru.

Набираем в адресной строке браузера доменное имя www.ofnet.ru и жмем <enter>. Далее операционная система производит примерно следующие действия:

Отправляется запрос (точнее пакет с запросом) DNS серверу на сокет 195.34.32.116:53. Как было рассмотренно выше, порт 53 соответствует DNS-серверу — приложению,  занимающемуся распознаванием имен. А DNS-сервер, обработав наш запрос, возвращает IP-адрес, который соответствует введенному имени.

Диалог примерно следующий:

- Какой IP адрес соответствует имени www.ofnet.ru?
- 82.146.49.55.

Далее наш компьютер устанавливает соединение с портом 80 компьютера  82.146.49.55 и посылает запрос (пакет с запросом) на получение страницы www.ofnet.ru. 80-й порт соответствует веб-серверу. В адресной строке браузера 80-й порт как правило не пишется, т.к. используется по умолчанию, но его можно и явно указать после двоеточия — http://www.ofnet.ru:80.

Приняв от нас запрос, веб-сервер обрабатывает его и в нескольких пакетах посылает нам страницу в на языке HTML — языке разметки текста, который понимает браузер.

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

Зачем эти принципы надо понимать?

Например, вы заметили странное поведение своего компьютера — непонятная сетевая активность, тормоза и пр. Что делать? Открываем консоль (нажимаем кнопку «Пуск» — «Выполнить» — набираем cmd — «Ок»). В  консоли набираем команду netstat -anи жмем <Enter>. Эта утилита отобразит список установленных соединений между сокетами нашего компьютера и сокетами удаленных узлов. Если мы видим в колонке «Внешний адрес» какие-то чужие IP адреса, а через двоеточие 25-й порт, что это может означать? (Помните, что 25-й порт соответствует почтовому серверу?) Это означает то, что ваш компьютер установил соединение с каким-то почтовым сервером (серверами) и шлет через него какие-то письма. И если ваш почтовый клиент (Outlook например) в это время не запущен, да если еще таких соединений на 25-й порт много, то, вероятно, в вашем компьютере завелся вирус, который рассылает от вашего имени спам или пересылает номера ваших кредитных карточек вкупе с паролями злоумышленникам.

Также понимание принципов работы Интернета необходимо для правильной настройки файерволла (проще говоря брандмауэра :)). Эта программа (которая часто поставляется вместе с антивирусом), предназначенна для фильтрации пакетов — «своих» и «вражеских». Своих пропускать, чужих не пущать. Например, если ваш фаерволл сообщает вам, что некто хочет установить соединение с каким-либо портом вашего компьютера. Разрешить или запретить?

Ну и самое главное — эти знания крайне полезны при общении с техподдержкой.

Напоследок приведу список портов, с которыми вам, вероятно, придется столкнуться:

135-139 — эти порты используются Windows для доступа к общим ресурсам компьютера — папкам, принтерам. Не открывайте эти порты наружу, т.е. в районную локальную сеть и Интернет. Их следует закрыть фаерволлом. Также если в локальной сети вы не видите ничего в сетевом окружении или вас не видят, то вероятно это связано с тем, что фаерволл заблокировал эти порты. Таким образом для локальной сети эти порты должны быть открыты, а для Интернета закрыты.

21 — порт FTP сервера.

25 — порт почтового SMTP сервера. Через него ваш почтовый клиент отправляет письма. IP адрес SMTP сервера и его порт (25-й) следует указать в настройках вашего почтового клиента.

110 — порт POP3 сервера. Через него ваш почтовый клиент забирает письма из вашего почтового ящика. IP адрес POP3 сервера и его порт (110-й) также следует указать в настройках вашего почтового клиента.

80 — порт WEB-сервера.

3128, 8080 — прокси-серверы (настраиваются в параметрах браузера).


Несколько специальных IP адресов:

127.0.0.1 — это localhost, адрес локальной системы, т.е. локальный адрес вашего компьютера.
0.0.0.0 - так обозначаются все IP-адреса.
192.168.xxx.xxx — адреса, которые можно произвольно использовать в локальных сетях, в глобальной сети Интернет они не используются. Они уникальны только в рамках локальной сети. Адреса из этого диапазона вы можете использовать по своему усмотрению, например, для построения домашней или офисной сети.

Что такое маска подсети и шлюз по умолчанию (роутер, маршрутизатор)?

(Эти параметры задаются в настройках сетевых подключений).

Все просто. Компьютеры объединяются в локальные сети. В локальной сети компьютеры напрямую «видят» только друг друга. Локальные сети соединяются друг с другом через шлюзы (роутеры, маршрутизаторы). Маска подсети предназначена для определения — принадлежит ли компьютер-получатель к этой же локальной сети или нет. Если компьютер-получатель принадлежит этой же сети, что и компьютер-отправитель, то пакет передается ему напрямую, в противном случае пакет отправляется на шлюз по умолчанию, который далее, по известным ему маршрутам, передает пакет в другую  сеть, т.е. в другое почтовое отделение (по аналогии с советской почтой).

Напоследок рассмотрим что же означают непонятные термины:

TCP/IP — это название набора сетевых протоколов. На самом деле передаваемый пакет проходит несколько уровней. (Как на почте: сначала вы пишете писмо, потом помещаете в конверт с адресом, затем на почте на нем ставится штамп и т.д.).

IP протокол — это протокол так называемого сетевого уровня. Задача этого уровня — доставка ip-пакетов от компьютера отправителя к компьютеру получателю. По-мимо собственно данных, пакеты этого уровня имеют ip-адрес отправителя и ip-адрес получателя. Номера портов на сетевом уровне не используются. Какому порту, т.е. приложению адресован этот пакет, был ли этот пакет доставлен или был потерян, на этом уровне неизвестно — это не его задача, это задача транспортного уровня.

TCP и UDP — это протоколы так называемого транспортного уровня. Транспортный уровень находится над сетевым. На этом уровне к пакету добавляется порт отправителя и порт получателя.

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

UDP — это протокол без установления соединения и с негарантированной доставкой пакетов. (Типа: крикнул что-нибудь, а услышат тебя или нет — неважно).

Над транспортным уровнем находится прикладной уровень. На этом уровне работают такие протоколы, как httpftp и пр. Например HTTP и FTP — используют надежный протокол TCP, а DNS-сервер работает через ненадежный протокол UDP.

Как посмотреть текущие соединения?

Текущие соединения можно посмотреть с помощью команды

netstat -an

(параметр n указывает выводить IP адреса вместо доменных имен).

Запускается эта команда следующим образом:

«Пуск» — «Выполнить» — набираем cmd — «Ок». В появившейся консоли (черное окно) набираем команду netstat -an и жмем <Enter>. Результатом будет список установленных соединений между сокетами нашего компьютера и удаленных узлов.

Например получаем:

Активные подключения
Имя Локальный адрес Внешний адрес Состояние
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 91.76.65.216:139 0.0.0.0:0 LISTENING
TCP 91.76.65.216:1719 212.58.226.20:80 ESTABLISHED
TCP 91.76.65.216:1720 212.58.226.20:80 ESTABLISHED
TCP 91.76.65.216:1723 212.58.227.138:80 CLOSE_WAIT
TCP 91.76.65.216:1724 212.58.226.8:80 ESTABLISHED
...

В этом примере 0.0.0.0:135 — означает, что наш компьютер на всех своих IP адресах слушает (LISTENING) 135-й порт и готов принимать на него соединения от кого угодно (0.0.0.0:0) по протоколу TCP.

91.76.65.216:139 — наш компьютер слушает 139-й порт на своем IP-адресе 91.76.65.216.

Третья строка означает, что сейчас установлено (ESTABLISHED) соединение между нашей машиной (91.76.65.216:1719) и удаленной (212.58.226.20:80). Порт 80 означает, что наша машина обратилась с запросом к веб-серверу (у меня, действительно, открыты страницы в браузере).

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

Порты (TCP, UDP) – что это такое, какие бывают, как открыть, закрыть и пробросить порт

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

Определение

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

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

Но тут встаёт небольшая проблема, когда пакет информации доходит, компьютер или сервер не понимает – в каком приложении его открывать?! Вот за данную функцию частично и отвечают порты. Например, пользователь сделал запрос в интернете на определенный сайт. Далее пакет данных доходит до сервера, на котором работает одновременно много системных служб и программ.

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

Если говорить грубо, то IP (в нашем примере) – это адрес дома. Но когда почтальон приходит к дому, он не знает в какую квартиру отнести письмо. И вот порт – это и есть номер квартиры. На данный момент существует определенное число портов – 65 535. Вы можете заметить аналогию с многоквартирным домом, по сути в каждом доме есть определенное количество квартир.

Некоторые порты компьютера могут быть открыты или закрыты в зависимости от настроек системы. Также некоторые приложения открывают свои порты или используют смежные. Также не забываем, что для передачи информации по сети используется модель TCP/IP или UDP. Ещё один пример, который сможет более точно объяснить – для чего же нужны сетевые порты на компьютере.

Вася решил завести у себя на компьютере свой Web-сайт. После верстки он все же решил загрузить его на свой компьютер. Конечно, он мог бы арендовать сервер, но он решил сэкономить. Интернет у него подключен напрямую к системному блоку. Теперь вопрос знатокам: при запросе из интернета – как компьютер будет понимать, что нужно отдавать по запросу именно страницы сайта, а не данные общих папок или ответ от какого-нибудь запущенного приложения?

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

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

И так товарищ, ты теперь почти просветлел и понял – что же такое порт. Теперь же давайте поговорим про понятие «номер порта». Как я уже и говорил, в каждом компьютере, сервере, маршрутизаторе существует ровно 65 535 портов. Конечно, используются они не все и есть свободные «адреса».

С 0 до 1023-го – это зарезервированные «квартиры» для систем как Windows, так и Linux. Насчет Mac OS сказать не могу, с данной ОС не работал. Далее с 1024 по 49151 идут свободно используемые входы. То есть их могут использовать отдельные приложения, утилиты или даже системные службы. Некоторые программы могут одновременно использовать один и тот же номер.

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

Но со временем за определенными портами закрепились отведенные службы. Вот пример нескольких из них:

  • 20, 21: FTP
  • 22: SSH
  • 23: Telnet
  • 25: SMTP
  • 43: WHOIS
  • 53: DNS
  • 67, 68: DHCP
  • 80: HTTP (Веб-port)
  • 110: POP3
  • 113: аутентификация в IRC
  • 143: IMAP
  • 161: SNMP
  • 194: IRC
  • 389: LDAP
  • 443: HTTPS
  • 587: SMTP
  • 631: CUPS

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

ПРИМЕЧАНИЕ! Портовая конфигурация также есть у роутеров и провайдера.

Просмотр открытых и закрытых портов

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