Порт (TCP/UDP)
Материал из Cetki Wiki.
Сетевой порт — параметр протоколов TCP и UDP, определяющий назначение пакетов данных в формате IP, передаваемых на хост по сети.
Это условное число от 1 до 65535, позволяющие различным программам, выполняемым на одном хосте, получать данные независимо друг от друга. Каждая программа обрабатывает данные, поступающие на определённый порт (иногда говорят, что программа «слушает» этот номер порта).
Обычно за некоторыми распространёнными сетевыми протоколами закреплены стандартные номера портов (например, веб-серверы обычно принимают данные по протоколу HTTP на TCP-порт 80), хотя в общем случае программа может использовать любой протокол на любом порте.
Содержание |
Номера портов
Ряд номеров портов стандартизован (см. список стандартных портов (англ.)). Список поддерживается некоммерческой организацией ICANN.
В современных операционных системах прослушивание портов с номерами 1—1023 (почти все из которых зарегистрированы) требует наличия системных привилегий. Однако, зарегистрировано номеров намного больше, чем 1023.
Краткий список номеров портов
Подразумевается использование протокола TCP там, где не оговорено иное.
- HTTP: 80
- ICQ: 5190
- telnet: 23
- POP3: 110
- SMTP: 25
- FTP: 21 для команд, 20 для данных
- IMAP: 143
- TFTP: 69/UDP
- SSH: 22
- BitTorrent: 6969, 6881—6889
- DNS: 53 (обычно UDP)
Порты отправителя и получателя
На самом деле, TCP- или UDP-пакеты всегда содержат два поля номера порта: отправителя и получателя. Тип обслуживающей программы определяется портом получателя поступающих запросов, и этот же номер является портом отправителя ответов. «Обратный» порт (порт отправителя запросов, он же порт получателя ответов) при подключении по TCP определяется клиентом произвольно (хотя номера меньше 1024 и уже занятых портов не назначаются), и для пользователя интереса не представляет. Использование обратных номеров портов в UDP зависит от реализации.
Использование портов для различных кодировок
До момента появления полноценной поддержки кодировок текстов в браузерах многие веб-сайты использовали различные порты для различных кодировок текста. При этом по стандартному порту (80) находится сплеш-скрин с выбором кодировки, перенаправляющий в зависимости от кодировки на различные порты того же самого хоста.
В настоящее время эта технология для http не применяется (Хотя сохранились сайты, работающие по этой технологии),[1]. У многих IRC-серверов данная технология используется и по настоящий момент.
