Группа: Модераторы
Пользователь №: 14
Возраст: 27
Сообщения: 50
Спасибо сказали: 0 раз(а)
Дата регистрации: 02.05.2012
Статус: Offline
|
Когда большинство пользователей компьютеров видят слово "порт", то обычно с ним ассоциируются такие аббревиатуры, как COM, LPT, PS/2. То есть, попросту говоря, названия "гнезд", куда можно присоединить какие-либо периферийные устройства вроде сканера, принтера или модема. Такие порты служат для подключения различных устройств к персональному компьютеру. Но при чтении литературы, описывающей работу в интернете, равно как и при работе с сетевыми программами, становится ясно, что слово "порт" имеет не только это, привычное всем нам, значение. Но какое именно? И что, например, означает поле "номер порта", встречающееся, например, почти во всех окнах настройки прокси-серверов?
А вот вы никогда не задумывались, каким образом происходит обмен данными между компьютером и серверами интернета? Конечно - с помощью пакетов данных. Ну а как эти самые данные находят на компьютере нужную им программу? Ведь почти все используемые сейчас операционные системы - многозадачные, и в них можно одновременно, скажем, и электронную почту отправлять или получать, и файлы на сервер помещать, и веб-странички смотреть, и по интернет-пейджеру общаться. Приходит, например, такой пакет данных с электронным письмом на компьютер. Как он понимает, в какую программу ему пойти - в браузер или все же в почтовый клиент? IP-адрес-то всего один? Для этого и существует система портов.
Представим себе интернет как большой город, состоящий из домов-компьютеров. Если адресом дома в такой аналогии будет служить IP-адрес, выделяемый компьютеру, то порт будет служить адресом квартиры. Каждый пакет данных имеет при себе адрес дома - то есть IP компьютера, которому он предназначен. По этому адресу происходит маршрутизация пакета при его передаче от компьютера-сервера к компьютеру-получателю. Квартиры в доме-компьютере могут быть заняты (а могут и не быть) различными программами. И внутри этого дома маршрутизация осуществляется именно по номерам квартир-портов. Заведует этим всем операционная система - выделяет программам порты и распределяет по ним приходящие пакеты. Впрочем, точнее будет сказать, что каждая из программ, предназначенная для работы с ресурсами интернета, принимает только те пакеты приходящих на компьютер данных, которые адресованы именно ей.
На номер порта выделается 16 бит, то есть максимальное количество портов в таком случае равно 65 536. Некоторые номера традиционно закреплены за определенными сервисами. К примеру, веб-сервер отвечает на запросы с указанием порта 80, а ftp-сервер оперирует портом 21. Иными словами, когда ваш браузер запрашивает, например, сервер www.pravda.ru, то он посылает пакет данных на порт 80 компьютера с IP-адресом, соответствующим www.pravda.ru. В этом пакете компьютер указывает номер своего порта, выделенного ему операционной системой. Сервер www.pravda.ru, в свою очередь, посылает на ваш компьютер ответный пакет данных. Операционная система, увидев по заголовку, что пакет адресован 80 порту, отдаст его в браузер, который и обработает его по собственному усмотрению.
Если основная задача компьютера - выдавать информацию в Сеть по запросам, то на нем может быть одновременно запущено сразу несколько программ: веб-сервер, ftp-сервер, почтовый клиент и др. Каждая из них работает с запросами, используя свои порты. Номера портов, по которым работают программы, указываются в настройках.
Можно провести еще одну аналогию для лучшего восприятия: порт - это некая "радиочастота", а каждая программа - своего рода приемник. Чтобы программа могла услышать запрос, надо настроиться на ее "волну" - послать запрос на этой частоте. В свою очередь, программа должна будет выйти на связь с тем, кто ее запросил, используя тот же диапазон частот (имеются в виду протоколы с обязательным квитированием - прим. ред.).
__________________

|