Отдельные экземпляры программы, скажем, новые окна браузера тоже имеют свои порты. Поэтому вы можете одновременно смотреть сразу несколько страничек в разных окнах браузера.
Различные порты различаются одним — своим номером. Всего возможных номеров портов весьма много — тысячи. Однако некоторые номера портов традиционно присвоены вполне определенным сервисам. К примеру, программа-web-сервер (то есть программа, которая может отвечать на запросы с удаленного компьютера, выдавая для просмотра документ Html и все файлы, которые из него вызываются) отвечает на запросы с указанием порта 80. Программа — Ftp-сервер, выдающая по запросу пользователя файлы, отвечает на запросы, в которых указано, что они посланы на порт 21. Иными словами, когда, скажем, ваш браузер запрашивает сервер, скажем, www.duel.ru, то он посылает пакет данных на порт 80 компьютера с IP-адресом, соответствующим www.duel.ru, а в пакете указывает номер своего порта, выделенного ему операционной системой. Сервер www.duel.ru, получив пакет, посылает на компьютер с запросившим его браузером пакет данных, адресуя его тому порту, с которого был прислан запрос. Операционная система, увидев по заголовку пакета, какому порту адресован пакет, отдаст его в браузер, который его обработает по собственному усмотрению.
Поэтому пакет данных, предназначенный, скажем, браузеру, не попадает в почтовый клиент, и наоборот.
Какие же выводы следуют из всего вышеизложенного?
На компьютере, основная задача которого — выдавать информацию в Сеть по запросам, может одновременно быть запущено сразу множество программ: web-сервер для выдачи web-страничек, ftp-сервер для скачивания файлов, почтовый сервер и др., причем у этого компьютера будет лишь один IP-адрес, по которому к нему будут обращаться с запросами и на загрузку файлов, и на просмотр сайта, и на работу с почтой. Каждая программа работает с запросами, приходящими к ней, по своему порту: web-сервер — по 80-му, Ftp-сервер — по 21-му и др. Браузерам, Ftp-клиентам вроде CuteFtp, почтовым клиентам номера портов выделяются операционной системой того компьютера, на котором они запущены. Номер порта, по которому работают эти серверы, указывается в их настройках.
Нетрудно понять, что в том случае, если web-сервер будет настроен на работу, скажем, по 81-му порту, то ни один браузер просто так связаться с ним не сможет. В многих программах, предназначенных для работы с ресурсами Интернет, есть возможность задавать номер порта, с которого сервер Интернета будет этой программе отвечать в том случае, если он настроен на работу с другого порта (рис. 10.2).
Рис. 10.2. Здесь настраиваются номера портов в почтовом клиенте The Bat!.
Если на сервере запущен еще какой-либо сервис, скажем, многопользовательская ролевая игра, то программа, обеспечивающая ее функционирование, будет работать с какого-либо другого порта, отличного от тех, с которых работают другие программы. Номер этого порта необходимо сообщать тем, кто будет подключаться к игре, или разработать программу — игрового клиента, которая автоматически работала бы с этим портом.
Если проводить еще одну аналогию для лучшего восприятия, то можно себе представить порт как некую «радиочастоту», а каждую программу — как приемник для этой частоты. Чтобы программа могла услышать запрос, надо настроиться на ее «радиочастоту» — послать запрос на этой частоте, а в запросе сообщить, на какой частоте она должна выйти на связь с тем, кто ее запросил.
Далее. С системой портов тесно связана такая система защиты, как "файерволл". [26] От англ. " firewall " — стена из негорючих материалов, предусматриваемая в проекте здания на случай пожара для предотвращения его распространения.
Файерволлом называется программа, которая обеспечивает санкционированность всей информации, приходящей или уходящей с компьютера. К примеру, при отправке почты используется порт 25, а при получении — порт 110. С этими портами работает почтовая программа. Если же какая-нибудь другая программа, например, вирус-троян, [27] Троян — это программа, помимо основной функции в которой есть еще скрытая, вредоносная. Например, отправка по почте своему автору всех логинов и паролей того, на чьем компьютере она запущена.
попытается связаться с чем-либо по этому порту, то файерволл не даст ей это сделать. Кроме того, файерволл не позволяет осуществить связь с удаленным компьютером по какому-либо порту, если это не разрешил пользователь. Перед началом использования файерволла производится его настройка — то есть указание номеров портов, через которые может идти обмен данных, и программ, которые с этими портами работают. В современных файерволлах настройка может пройти и автоматически.
Читать дальше