Перенаправление портов
Для установления связи большинство TCP/IP-сервисов используют метод клиент/сервер. Чтобы достичь цели, пакет должен иметь IP-адрес получателя (единственный хост в сети) и порт получателя (отдельный "сокет" на хосте). TCP/IP отводит 16 бит для номера порта. Это означает, что для подключения к сокету назначаются числа из интервала от 0 до 65535. Большинство серверов стараются использовать широко известные порты, с номерами от 0 до 1023, чтобы клиенту было легче узнать, как подключиться к сервису. Например, по умолчанию для связи по протоколу HTTP Web-сервер прослушивает TCP-порт 80. Сервер электронной почты по умолчанию прослушивает SMTP-трафик через TCP-порт 25.
Номера портов выше 1023 относятся к диапазону зарегистрированных или динамических портов. Номера с 1024 до 49151 представляют зарегистрированный диапазон портов. Эти порты, возможно, имеют установленные сервисные назначения (например, TCP-порт 26000 для Quake), но они также используются, как конечная точка для подключений клиента. Диапазон номеров от 49152 до 65535 содержит динамические порты.
Когда вы вводите адрес URL в Web-броузере, вы инструктируете броузер соединяться с TCP-портом 80 по определенному IP-адресу. Когда сервер получает пакет от вашей системы, он знает IP-адрес и номер порта, по которому нужно возвратить данные. Для http-запросов Web-сервер по умолчанию всегда прослушивает TCP-порт 80, а Web-клиент выполняет запрос со случайного порта с номером выше, чем 1023. Web-сервер никогда не знает, на какой порт он собирается передавать данные. Хотя номер порта остается одним и тем же в течение всего сеанса (например, в единственном запросе GET/index.html ), между запросами он может изменяться: например, первая комбинация портов могла бы быть - с номера 1066 на стороне клиента к номеру 80 на сервере, следующая - с номера 1067 на стороне клиента к номеру 80 на сервере. Если вам доведется сдавать экзамен по информатике, используйте технический термин: пара IP-адрес - порт связи называются "блок управления передачей" (Transmission Control Block).
Сервер Secure Shell (SSH) по умолчанию прослушивает TCP-порт 22. Протокол SMB (Server Message Block - блок серверных сообщений), который выполняет большую часть сетевой работы Windows, прослушивает TCP-порт 139 (а также порт 445 в системах Windows 2000 и XP). Большинство Web-серверов прослушивают TCP-порт 80, а FTP прослушивает TCP-порт 21. Средства управления доступом к сети, устанавливаемые маршрутизатором или брандмауэром, определяют, какие порты между двумя сетями являются открытыми, а какие закрытыми. Хосты интернета, возможно, способны обратиться к порту 80 на Web-сервере компании, но устройство сетевой защиты, скорее всего, будет блокировать доступ к порту 139. Существенная часть сетевой защиты базируется на определении того, каким хостам позволено обращаться к определенным портам.