Сетевые сервисы

Сетевые сервисы

Взаимодействие компьютеров между собой, а также с другим активным сетевым оборудованием, в TCP/IP-сетях организовано на основе использования сетевых служб, которые обеспечиваются специальными процессами сетевой операционной системы (ОС) — демонами в UNIX-подобных ОС, службами в ОС семейства Windows и т. п.

Содержание

Сокеты, соединения

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

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

Номер порта для «привязки» службы выбирается в зависимости от его функционального назначения. За присвоение номеров портов определённым сетевым службам отвечает IANA. Номера портов находятся в диапазоне 0 — 65535 и разделены на 3 категории[1]:

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

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

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

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

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

Список соответствия между сетевыми службами и номерами портов

Официальный список соответствия между сетевыми службами и номерами портов ведёт IANA.

История регулирования соответствия

Вопросы унификации соответствия сетевых служб номерам сокетов (портов) поднимались в RFC 322 и 349, первые попытки регулирования были предприняты Джоном Постелом в RFC 433 и 503.

До января 2002 года соответствие регулировалось серией документов IETF «Assigned Numbers» (RFCs 739, 750, 755, 758, 762, 770, 776, 790, 820, 870, 900, 923, 943, 960, 990, 1010, 1060, 1340, 1700), значительную часть которых готовил Джон Постел.

Начиная с RFC 1060 (англ.) функция регулирования соответствия сетевых служб номерам портов была передана специальной организации IANA. С момента принятия в январе 2002 года RFC 3232 (англ.) предусматривается ведение онлайновой базы данных такого соответствия, без закрепления его в RFC (см.: DCCP).

Актуальный список

Актуальная версия списка (англ.) размещена на сайте IANA (англ.).

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

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

Windows 98/ME
C:\Windows\services
Windows NT/XP
C:\Windows\system32\drivers\etc\services
UNIX-подобные ОС
/etc/services

Состояние сетевых служб операционной системы

В большинстве операционных систем можно посмотреть состояние сетевых служб при помощи команды (утилиты)

netstat -an

В ОС семейства Windows результат работы этой команды выглядит примерно так:

Активные подключения
 Имя    Локальный адрес        Внешний адрес          Состояние
 TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
 TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
 TCP    127.0.0.1:1026         0.0.0.0:0              LISTENING
 TCP    127.0.0.1:12025        0.0.0.0:0              LISTENING
 TCP    127.0.0.1:12080        0.0.0.0:0              LISTENING
 TCP    127.0.0.1:12110        0.0.0.0:0              LISTENING
 TCP    127.0.0.1:12119        0.0.0.0:0              LISTENING
 TCP    127.0.0.1:12143        0.0.0.0:0              LISTENING
 TCP    192.168.0.16:139       0.0.0.0:0              LISTENING
 TCP    192.168.0.16:1572      213.180.204.20:80      CLOSE_WAIT
 TCP    192.168.0.16:1573      213.180.204.35:80      ESTABLISHED
 UDP    0.0.0.0:445            *:*
 UDP    0.0.0.0:500            *:*
 UDP    0.0.0.0:1025           *:*
 UDP    0.0.0.0:1056           *:*
 UDP    0.0.0.0:1057           *:*
 UDP    0.0.0.0:1066           *:*
 UDP    0.0.0.0:4500           *:*
 UDP    127.0.0.1:123          *:*
 UDP    127.0.0.1:1900         *:*
 UDP    192.168.0.16:123       *:*
 UDP    192.168.0.16:137       *:*
 UDP    192.168.0.16:138       *:*
 UDP    192.168.0.16:1900      *:*

В UNIX-подобных ОС результат работы команды netstat -an имеет примерно такой вид:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:37              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:199             0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:2601            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:2604            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:2605            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:13              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:179             0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:1723            0.0.0.0:*               LISTEN      
tcp        0      0 10.0.0.254:1723         10.0.0.243:2441         ESTABLISHED 
tcp        0      0 192.168.19.34:179       192.168.19.33:33793     ESTABLISHED 
tcp        1      0 192.168.18.250:37       192.168.18.243:3723     CLOSE_WAIT  
tcp        0      0 10.0.0.254:1723         10.0.0.218:1066         ESTABLISHED 
tcp        1      0 192.168.18.250:37       192.168.18.243:2371     CLOSE_WAIT  
tcp        0      0 10.0.0.254:1723         10.0.0.201:4346         ESTABLISHED 
tcp        0      0 10.0.0.254:1723         10.0.0.30:2965          ESTABLISHED 
tcp        0     48 192.168.19.34:22        192.168.18.18:43645     ESTABLISHED 
tcp        0      0 10.0.0.254:38562        10.0.0.243:22           ESTABLISHED 
tcp        0      0 10.50.1.254:1723        10.50.1.2:57355         ESTABLISHED 
tcp        0      0 10.50.0.254:1723        10.50.0.174:1090        ESTABLISHED 
tcp        0      0 192.168.10.254:1723     192.168.13.104:65535    ESTABLISHED 
tcp        0      0 10.0.0.254:1723         10.0.0.144:65535        ESTABLISHED 
tcp        0      0 10.0.0.254:1723         10.0.0.169:2607         ESTABLISHED 
tcp        0      0 10.0.0.254:1723         10.0.0.205:1034         ESTABLISHED 
udp        0      0 0.0.0.0:1812            0.0.0.0:*                           
udp        0      0 0.0.0.0:1813            0.0.0.0:*                           
udp        0      0 0.0.0.0:161             0.0.0.0:*                           
udp        0      0 0.0.0.0:323             0.0.0.0:*                           
udp        0      0 0.0.0.0:123             0.0.0.0:*                           
raw        0      0 192.168.10.254:47       192.168.13.104:*        1           
raw        0      0 10.0.0.254:47           10.0.0.120:*            1           
raw        0      0 10.10.204.20:47         10.10.16.110:*          1           
raw        0      0 192.168.10.254:47       192.168.11.72:*         1           
raw        0      0 10.0.0.254:47           10.0.0.144:*            1           
raw        0      0 10.0.0.254:47           10.0.0.205:*            1           
raw        0      0 10.50.0.254:47          10.50.0.174:*           1           
raw        0      0 10.0.0.254:47           10.0.0.170:*            1           
raw        0      0 10.0.0.254:47           10.0.0.179:*            1           

Состояние (State) LISTEN (LISTENING) показывает пассивно открытые соединения («слушающие» сокеты). Именно они и предоставляют сетевые службы. ESTABLISHED — это установленные соединения, то есть сетевые службы в процессе их использования.

Проверка доступности сетевых служб

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

Одно из самых удобных средств — команда (утилита) tcptraceroute (разновидность traceroute), которая использует TCP-пакеты открытия соединения (SYN|ACK) с указанным сервисом (по умолчанию — web-сервер, порт 80) интересующего хоста и показывает информацию о времени прохождения данного вида TCP-пакетов через маршрутизаторы, а также информацию о доступности службы на интересующем хосте, либо, в случае проблем с доставкой пакетов — в каком месте пути они возникли.

В качестве альтернативы можно использовать отдельно

  • traceroute для диагностики маршрута доставки пакетов (недостаток — использование UDP-пакетов для диагностики) и
  • telnet или netcat на порт проблемной службы для проверки ее отклика.

Примечания

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

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

  3. Термин не могут в данном контексте используется в значении определения MUST NOT, данного в RFC 2119 (англ.):

    «НЕ МОЖЕТ» обозначает, что установлен абсолютный запрет.

См. также

Ссылки

  • RFC 322 (англ.) Well Known Socket Numbers
  • RFC 349 (англ.) Proposed Standard Socket Numbers (отменён RFC 433)
  • RFC 433 (англ.) Socket Number List (отменён RFC 503)
  • RFC 503 (англ.) Socket Number List (отменён RFC 739)
  • RFC 739 (англ.) ASSIGNED NUMBERS (первый список присвоенных номеров, был заменён рядом RFCs, последний из которых RFC 1700)
  • RFC 768 (англ.) User Datagram Protocol
  • RFC 793 (англ.) TRANSMISSION CONTROL PROTOCOL
  • RFC 1700 (англ.) ASSIGNED NUMBERS (последний список присвоенных номеров, отменён RFC 3232)
  • RFC 3232 (англ.) Assigned Numbers: RFC 1700 is Replaced by an On-line Database
  • RFC 4340 (англ.) Datagram Congestion Control Protocol (DCCP) — PROPOSED STANDARD

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Сетевые сервисы" в других словарях:

  • Социальные сетевые сервисы — Социальный сетевой сервис  виртуальная площадка, связывающая людей в сетевые сообщества с помощью программного обеспечения, компьютеров, объединенных в сеть (Интернет) и сети документов (Всемирной паутины). Сетевые социальные сервисы в… …   Википедия

  • Сервисы Интернет — сервисы, предоставляемые в сети Интернет пользователям, программам, системам, уровням, функциональным блокам. В сети Интернет сервисы предоставляют сетевые службы. Наиболее распространенными Интернет сервисами являются: хранение данных; передача… …   Финансовый словарь

  • Порт (сетевые протоколы) — Сетевой порт параметр протоколов UDP, определяющий назначение пакетов данных в формате Это условное число от 0 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга (предоставляют так… …   Википедия

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

  • Микроядро — У этого термина существуют и другие значения, см. Микроядро (цитология). Архитектура микроядра основывается на программах серверах пользовательского режима …   Википедия

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

  • Simple Service Discovery Protocol — SSDP Название: Simple Service Discovery Protocol Уровень (по модели OSI): Сеансовый Семейство: TCP/IP Порт/ID: 1900/UDP Простой протокол обнаружения сервисов (англ. Simple Service Discovery Protocol, SSDP …   Википедия

  • Летописи.ру — Эта страница требует существенной переработки. Возможно, её необходимо викифицировать, дополнить или переписать. Пояснение причин и обсуждение на странице Википедия:К улучшению/16 мая 2012. Дата постановки к улучшению 16 мая 2012 …   Википедия

  • Сканирование сети — сетевая атака. Описание Цель этой атаки состоит в том, чтобы выяснить, какие компьютеры подключены к сети и какие сетевые сервисы на них запущены. Первая задача решается путем посылки Echo сообщений протокола ICMP с помощью утилиты ping c… …   Википедия

  • 7я.ру — Издатель АЛП Медиа Главный редактор Поляева Елена Константиновна Дата основания 2000 год Свидетельство о регистрации СМИ Эл № ФС77 35954 Язык …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»