- Порт (TCP/IP)
-
В протоколах 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: 9, Discard port (RFC 863)
- FTP: 21 для команд, 20 для данных
- SSH: 22 (remote access)
- telnet: 23 (remote access)
- SMTP: 25, 465, 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
- SIP: 5060
Порты отправителя и получателя
TCP- или UDP-пакеты всегда содержат два поля номера порта: отправителя и получателя. Тип обслуживающей программы определяется портом получателя поступающих запросов, и этот же номер является портом отправителя ответов. «Обратный» порт (порт отправителя запросов, он же порт получателя ответов) при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются), и для пользователя интереса не представляет. Использование обратных номеров портов в UDP зависит от реализации.
Ссылки
Примечания
- ↑ Нулевой порт тоже допустим (англ.)
Категория:- TCP/IP
Wikimedia Foundation. 2010.