статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

Порт (TCP/IP)

Материал из Энциклопедии в свободной энциклопедии
(перенаправлено с «Порт (TCP/UDP)»)
Перейти к: навигация, поиск

В протоколах TCP и UDP (семейства TCP/IP) порт в идентифицируемый номером системный ресурс, выделяемый приложению, выполняемому на некотором сетевом хосте, для связи с приложениями, выполняемыми на других сетевых хостах (в том числе c другими приложениями на этом же хосте).

Основное правило необходимое для понимания работы порта: 1) Порт может быть занят только одной программой и в этот момент не может использоваться другой. 2) Все программы для связи между собою посредством сети используют порты.

Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов, идентифицирующихся номерами от 0[1] до 65535. При передаче по сети номер порта в заголовке пакета используется (вместе с IP-адресом хоста) для адресации конкретного приложения (и конкретного, принадлежащего ему, сетевого соединения).

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

По умолчанию приложению выдается порт с произвольным (например, ближайшим свободным, большим 1023) номером. При необходимости приложение может запросить конкретный (предопределённый) номер порта. Так, веб-серверы обычно открывают для ожидания соединения предопределённый порт 80 протокола TCP.

Содержание

[править] Состояния порта

Возможны следующие состояния порта, показываемые netstat и nmap:

Состояние Описание
open программа-сервер готова принимать подключения
listen
filtred файрвол или иная причина не позволяет nmapв™у определить открыт или закрыт порт
closed

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

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

Ряд номеров портов стандартизован (см. Список портов TCP и UDP). Список поддерживается некоммерческой организацией IANA.

В большинстве UNIX-подобных операционных систем прослушивание портов с номерами 0в1023 (почти все из которых зарегистрированы) требует особых привилегий. Каждый из остальных портов может быть захвачен первым запросившим его процессом. Однако, зарегистрировано номеров намного больше, чем 1024.

[править] Краткий список номеров портов

Подразумевается использование протокола TCP там, где не оговорено иное.

  • DISCARD: Discard port (RFC 863)
  • FTP: 21 для команд, 20 для данных
  • SSH: 22 (remote access)
  • telnet: 23 (remote access)
  • SMTP: 25, 587
  • DNS: 53 (UDP)
  • DHCP: 67, 68/UDP
  • TFTP: 69/UDP
  • HTTP: 80, 8080
  • POP3: 110
  • NTP: 123 (time server) (UDP)
  • IMAP: 143
  • SNMP: 161
  • HTTPS: 443
  • MySQL: 3306
  • iserver: 3055
  • RDP: 3389 (remote access)
  • OSCAR (ICQ): 5190
  • XMPP (Jabber): 5222/5223 в клиент-сервер, 5269 в сервер-сервер
  • traceroute: выше 33434 (UDP) (в некоторых источниках указано, что достаточно указать диапазон портов от 33434 до 33534)
  • BitTorrent: 6969, 6881в6889

[править] Порты отправителя и получателя

TCP- или UDP-пакеты всегда содержат два поля номера порта: отправителя и получателя. Тип обслуживающей программы определяется портом получателя поступающих запросов, и этот же номер является портом отправителя ответов. «Обратный» порт (порт отправителя запросов, он же порт получателя ответов) при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются), и для пользователя интереса не представляет. Использование обратных номеров портов в UDP зависит от реализации.

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

[править] Примечания

  1. в‘ Нулевой порт тоже допустим (англ.)
Пространства имён

Варианты
Действия