Как устроен Интернет

--- Скажите, а как вы узнаёте о новых статьях? Через Интернет?
--- Что вы, какой Интернет! Просто открываю "Нетскэйп" ...

(из разговора двух женщин в автобусе)

Введение.

Глобальная сеть все больше входит в нашу жизнь. Уже считается неприличным, если компьютер руководителя (например, директора овощной базы) не подключен к Интернету. Многие люди дома, на работе, в школе или в институте путешествуют по просторам WEB, пользуются электронной почтой, скачивают из-за океана программы и картинки. Это прекрасно. Не прекрасно то, что большинство пользователей не имеют ни малейшего представления о том, что же это такое - Интернет, как он работает, что означают "страшные" слова "удаленный доступ" или "сервер приложений". А употребляемые невпопад термины приводят к каше в голове. И все чаще и чаще приходится слышать вопросы: "А как мне снять пейдж с ФТП в Чикаго?", "А как мне из Виндоуса в рабочем офисе распечатать мессидж с домашнего мейла?".

Хороших книжек, понятных неспециалисту, мне найти не удалось. А если бы и нашел! Вы когда-нибудь видели, к примеру, начальника отдела кадров с книжкой по компьютерам или по информатике? Я, лично, - нет. В предлагаемом вам пособии я постарался максимально доступным языком объяснить устройство Интернета, рассказать об особенностях использования электронной почты, рассказать о базовых понятиях. Любой читатель найдет здесь что-нибудь полезное для себя, а может быть, предложит почитать этот текст и своему начальнику.

 

Компьютерные сети.

Что же такое Интернет? Все очень просто. Интернет - это много-много компьютеров, соединенных между собой проводами (или какими-нибудь другими каналами связи, это сейчас не самое главное). Обычно соединяют сначала небольшое количество компьютеров, не более тысячи, образуется так называемая локальная сеть. А затем полученные сети уже соединяют между собой в более крупные образования, ну а их уже - в еще более крупные конгломераты. И так до тех пор, пока компьютеры всего мира не окажутся соединенными между собой, иными словами - объединенными в глобальную сеть. Вот и все! Теперь остается совсем немного - сделать так, чтобы это все заработало.

 

Серверы и клиенты.

Нетрудно догадаться, что для того, чтобы сеть заработала, необходимо на все эти компьютеры (по-другому, узлы) установить нужные программы. Таких программ бывает всего два типа: программы-серверы и программы-клиенты. Программа-клиент необходима для превращения вашего желания в запрос, отправки его в нужном направлении по компьютерной сети, получения ответа и преобразования его в понятный вам вид. Такие известные программы, как Internet Explorer или Netscape Navigator - ни что иное, как программы-клиенты. Они помогают вам путешествовать по ресурсам Интернета и посему еще называются браузерами (browser). Для того, чтобы посмотреть какой-нибудь сайт, вы вводите в специальное поле вашего браузера адрес этого сайта, например, www.irnet.ru/olezhka2. Завидев, что вы ввели какой-то текст и нажали на клавишу "Enter", программа-клиент сформирует запрос, в котором содержится информация о том, что вы хотите посмотреть этот самый сайт на своем компьютере. Этот запрос ваша программа-клиент отправляет по сети программе-серверу, которая готовит ответ и в специальном формате отправляет его обратно вашему браузеру. Разобравшись в ответе сервера, браузер, в свою очередь, показывает вам то, что вы и просили (или же сообщает, почему он не может этого сделать).

 

Адресация.

Тут возникает краеугольный вопрос: каким же образом ваша программа-клиент узнает, куда ей отправлять свой запрос. И здесь все очень просто. Для удобства абсолютно каждому узлу в Интернете присвоен свой адрес, а выглядит он так: xxx.xxx.xxx.xxx, где xxx - числа от 0 до 255. Этот адрес любят называть IP-адресом (Internet Protocol Address), читается "Ай-пи". Вот вам пример IP-адреса, взятого из реальной жизни: 193.232.70.36. Вашему компьютеру, если, конечно, вы им пользуетесь для работы в Интернет, обязательно присваивается IP-адрес. Если вы подключаете свой компьютер к Интернету время от времени, например, по телефону (это у нас называется сеансовым подключением), то IP-адрес вам выделяется только на время работы. Действительно, а зачем он вам нужен в то время, когда вы не пользуетесь Интернетом? Ведь компания, которая предоставляет вам доступ в Интернет, может пока выдать этот IP-адрес другому пользователю. Присвоение адреса на время сеанса связи называется динамическим распределением IP-адресов. Кстати, компания, оказывающая услуги по доступу в Интернет, у нас называется провайдером (от Internet Service Provider, сокращенно - ISP).

 

Доменная система имен.

Теперь нам все стало ясно. Мы набираем в окошке браузера адрес интересующего нас ресурса, и наш клиент-браузер формирует запрос и отправляет его по соответствующему адресу в сеть. В узлах сети всегда имеются программы-маршрутизаторы, которые направят ваш запрос в нужный узел. Там специальная программа-сервер (в нашем случае - это WEB-сервер) возьмет этот ресурс со своего компьютера и отправит его вам обратно по цепочке узлов. Что тут непонятного? Непонятно то, что вы обычно не набираете адрес ресурса в виде цифр, а вводите осмысленные сочетания слов, например, www.irnet.ru/olezhka2. И никаких вам, товарищи, IP-адресов! На самом деле, многим IP-адресам ставятся в соответствие состоящие из слов синонимы. Это чтобы пользователю их легче было запоминать. Адрес www.irnet.ru, например, это синоним IP-адреса 193.232.70.36, а /olezhka2 - это название директории на компьютере с IP-адресом 193.232.70.36. Одному IP-адресу может соответствовать один или несколько синонимов. По-научному эти синонимы называются доменными именами. Ваш браузер (не важно, Эксплорер он или Навигатор), прежде чем отправлять запрос, сначала обращается к известному ему узлу, где установлена специальная программа - сервер имен (DNS - Domain Name Server). Этот сервер и сообщает браузеру точный IP-адрес узла с нужным вам доменным именем.

Для любознательных. В операционной системе Windows есть возможность организовать подобие очень быстрого DNS-сервера. Для этого в директории C:\WINDOWS необходимо разместить текстовый файл с именем hosts (без расширения), который состоит из двух столбцов: первый содержит доменные имена, а второй - соответствующие им IP-адреса. При работе в Интернете ваш браузер будет сначала обращаться к этому файлу, и лишь потом, если он не найдет там требуемый IP-адрес, он обратится к настоящему DNS-серверу. В файл hosts рекомендуется вписывать адреса часто посещаемых вами сайтов. Через некоторое время вы увидите, что скорость ваших блужданий по Интернету заметно возросла (из-за резкого уменьшения количества обращений к DNS-серверу).

 

От путешествия по WEB к электронной почте.

Вот мы во всем и разобрались. Безусловно, помимо клиентов-браузеров бывают и другие клиенты, например, клиенты электронной почты (всякие там Outlook, Netscape Messenger, The Bat, Pegasus Mail, Pine, Eudorra и пр.), клиенты для приема и передачи файлов (их называют ftp-клиентами), telnet-клиенты (простейший telnet-клиент - программа telnet.exe на вашем компьютере), которые необходимы для интерактивной работы на удаленном узле и многие другие. Программы-серверы тоже бывают разными. Кроме теперь известных вам серверов (WEB, DNS и маршрутизаторов), существуют ftp-серверы (для передачи файлов), серверы приложений (очевидно, для удаленной работы с приложениями), серверы для передачи и приема почтовых сообщений (SMTP, POP, IMAP серверы) и всякие другие. О программах, обслуживающих электронную почту, мы сейчас поговорим подробнее.

 

Введение в электронную почту.

Электронная почта - это система, обеспечивающая передачу сообщений через компьютерные сети. При разработке этой системы за основу были взяты функциональные возможности обычной почты, именно поэтому устройство электронной почты очень похоже на обычную. Сейчас мы с вами это увидим.

 

Обыкновенная почта. Отправляем письмо.

Что мы делаем, когда хотим отправить письмо приятелю или коллеге? Мы берем чистый лист бумаги, и пишем на нем какой-то текст. Дальше мы берем обыкновенный конверт и вкладываем этот листок в него. Потом мы конверт заклеиваем и пишем адрес получателя и адрес отправителя. Дальнейшее очень важно и интересно. Мы берем письмо, открываем дверь на лестничную площадку, спускаемся вниз и опускаем письмо в синий почтовый ящик, находящийся в ведении ближайшего почтового отделения. В принципе, мы можем с этим письмом проехать подальше и опустить его в ящик, относящийся к другому отделению связи. Письмо дойдет также и в том случае, если мы сядем на самолет, долетим до Ташкента и опустим его в почтовый ящик там. Опустив где бы то ни было письмо, мы вернемся в квартиру и закроем за собой дверь (на ключ или задвижку).

В конверт (только побольше) можно вложить не только листочек с текстом, но и отдельный листок с картинкой, папочку с отчетами, коробку конфет, полотенце, другие небольшие вещи. Называться это будет уже бандероль, но суть от этого не изменится.

 

Обыкновенная почта. Получаем письмо.

Теперь мы хотим получить письмо. Что будем делать для этого? Нам придется опять открывать дверь на лестничную площадку, спускаться на нижний этаж, где расположены ряды почтовых ящиков с подписанными номерами квартир. Там мы найдем свой ящик, откроем его ключом и достанем из него все пришедшие письма (если они там есть). Обратите внимание на следующие важные моменты. После того, как мы достали письма, ваш почтовый ящик окажется пуст. Далее. Кроме писем, которые вы ждете, в ящике могут оказаться и другие материалы (типа рекламы пластиковых окон), присылать которые вы никого не просили. Но достать их из ящика все равно придется (хотя бы для того, чтобы выбросить), а то ваш ящик постепенно забьется мусором. И еще важный момент. Вы можете достать почту только из ящика, от которого у вас есть ключ. Кстати, если у вас есть еще ключи от ящиков, расположенных не в вашем доме, а где-нибудь еще (пусть даже в Ташкенте!), то вы сможете достать почту и оттуда, надо только до тех ящиков добраться.

 

Электронная почта. Отправляем письмо.

Отправка электронного письма ничем не отличается от отправки обыкновенного. Помогает вам в этом клиентская почтовая программа (Outlook Express, Netscape Messenger, Internet Mail, WebMail, The Bat, Pegasus Mail, Pine, Eudorra, Demos Mail или что-нибудь десятое). Вы набираете текст письма, в нужное место вводите адрес получателя. Адрес отправителя на всех письмах обычно бывает один и тот же, поэтому его набирают один раз при настройке почтового клиента. Что важно: никто вам не мешает перед отправкой письма набрать какой-нибудь другой адрес отправителя, например, несуществующий, письмо все равно будет отправлено.

С помощью почтовой программы к письму можно подсоединить и файлы - программы, картинки, музыкальные записи. Для отправки письма надо сначала подсоединиться к Интернету (открыть дверь на лестничную площадку), для чего обычно приходится дозваниваться до провайдера. Ежели у вас постоянное подсоединение (аналогия: вы живете прямо в подъезде J), то никуда звонить не надо. Затем вы нажимаете кнопочку "Send" (отправить), и программа-клиент немедленно опустит ваше письмо в синий ящик на улице.

 

Электронная почта. Получаем письмо.

Чтобы получить электронное письмо, необходимо подсоединиться к Интернету и с помощью все той же почтовой программы обратиться к своему ящику (нажав на Get Mail или что-то подобное). Вам потребуется знание пароля (нужен ключ от ящика). Возможно, пароль уже был введен при настройке почтового клиента, и ваша программа заранее обучена, какой ящик и каким ключом ей открывать. Обратившись к ящику, программа выгребает из него всю пришедшую почту (если, конечно, она там есть). Заодно она выгребает и всевозможные рекламные письма, которых вы не ждете. Эти письма называются спамом и место им - на помойке, то есть, в папке удаленных писем (которую надо не забывать периодически очищать). Далее ваша почтовая программа распечатает письма, достанет из них текст, всевозможные вложения (файлы, картинки) и покажет на экране конверт (адрес отправителя, дату и время отправки, тему сообщения), само письмо и картинки. Вложенные файлы вам будет предложено сохранить на диске.

Строго говоря, письма из почтового ящика достает не почтовый клиент, а откликнувшийся на его просьбу специальный сервер, о чем мы сейчас поговорим подробнее.

 

Серверы SMTP.

Теперь посмотрим, как происходит отправка электронного письма с точки зрения компьютерной сети. После нажатия на "Send" ваша почтовая программа-клиент ставит на конверте отметку-штамп (дата отправки, уникальный номер и собственное название) и передает ваше письмо почтовому серверу SMTP (Simple Mail Transfer Protocol). Имя этого SMTP-сервера заранее введено в клиентскую почтовую программу при ее настройке. Сервер ставит еще один штампик, в котором указывает дату, время и собственный IP-адрес. Затем сервер путем нехитрых махинаций определяет IP-адрес компьютера, на котором находится почтовый ящик получателя. По этому адресу SMTP-сервер и отправляет ваше письмо. Там его хватает SMTP-сервер, но уже другой! Получив ваше письмо, он ставит штампик и кладет его в почтовый ящик адресата. Этот ящик - ничто иное, как самый обыкновенный файл, имя которого совпадает с именем владельца ящика. Файл находится в специальной spool-директории, среди файлов других владельцев почтовых ящиков, относящихся к одному и тому же провайдеру. Когда в почтовом ящике нет писем, этот файл хранится пустым и имеет нулевую длину. Получив письмо, последний из SMTP-серверов допишет его к этому файлу.

Все прекрасно, если на компьютере, куда прилетело ваше письмо, существует ящик с именем вашего адресата. Ежели такого ящика там нет (или размер вашего письма превышает ограничение, установленное провайдером на размер входящей почты), то SMTP-сервер запустит программу со страшным названием Mailer-Daemon, которая отправит ваше письмо назад (по адресу отправителя), приписав объяснение, почему письмо не смогло быть доставлено адресату. Кстати, если самый первый SMTP-сервер не сумел определить, по какому IP-адресу ему отправлять ваше письмо (например, указанный вами почтовый домен просто не существует в природе), то он сам запустит Mailer-Daemon'а прямо на своем компьютере, и тот, в свою очередь, немедленно вам сообщит, что письмо не дошло до адресата, и, главное, почему не дошло.

 

Серверы POP.

Теперь рассмотрим, как происходит прием письма. При нажатии на "Get Mail" ваша почтовая программа-клиент связывается с сервером входящей почты (который называется POP-сервером, Post Office Protocol Server) и передает ему запрос на проверку почтового ящика. Имя POP-сервера, обслуживающего ваш почтовый ящик, заранее введено при настройке почтовой программы. Связавшись с POP-сервером, почтовый клиент передает ему запрос, содержащий имя ящика и пароль (ключ от ящика). Кроме того, запрос содержит информацию о том, надо ли делать копии с писем и оставлять эти копии в почтовом ящике томиться дальше (последняя опция весьма нехарактерна для обычной, не электронной почты). Получив запрос, POP-сервер сравнивает пароль с хранящимся в списке паролей провайдера, находит файл с вашим именем в spool-директории (а файл этот содержит сразу все пришедшие письма), снимает с него копию и отправляет ее вашей почтовой программе-клиенту. Программа-клиент сообщает POP-серверу о том, что файл она получила, и только после этого POP-сервер обнуляет в spool-директории файл с вашим именем (превращает в пустой файл нулевого размера). Естественно, если программа-клиент попросила не стирать содержимое ящика, то POP-сервер делать этого не будет.

Получив файл, содержащий новые сообщения, почтовый клиент разобьет его на письма и вытащит из них файловые вложения (если они там были) и даст вам возможность с ними ознакомиться.

 

"Чужие" почтовые серверы.

Теперь рассмотрим, можно ли забирать письма из ящиков, не имеющих отношения к вашему Интернет-провайдеру. Да хоть в Ташкенте! Главное, чтобы вы знали три вещи: имя ящика, пароль (ключ от ящика) и точное название соответствующего ему POP-сервера. Кстати, имя POP-сервера обычно нетрудно узнать, если известен адрес электронной почты. Как это сделать, догадайтесь сами.

Итак, мы знаем все необходимые данные. Остается их ввести в настройки почтовой программы и... "Get Mail"! Вся почта окажется у вас на компьютере. Можно также и отправить письмо, указав в настройках почтовой программы "неродной" SMTP-сервер. Здесь, правда, проблема состоит в том, что большинство SMTP-серверов настроено таким образом, что отправка "чужих" писем запрещена. Однако, в природе существуют и "открытые" SMTP-серверы; желающие могут их поискать.

 

Анонимные письма.

Замечание для тех, кто обрадовался, узнав, что в письмах можно указывать неправильный обратный адрес, а тем более, отправлять письмо с "чужого" SMTP. Все гораздо хуже, чем вы думаете. Когда вы соединяетесь с Интернетом, ваш провайдер дает вам IP-адрес (возможно, динамический). У себя же он в специальных лог-файлах отмечает, что такой-то клиент с таким-то IP-адресом работал в Интернете в такое-то время. Затем, при отправке письма ваш почтовый клиент указывает "на конверте" помимо прочего ваш IP-адрес, дату и время. SMTP-серверы, получив ваше письмо, тоже шлепают на него необходимую служебную информацию: свой IP-адрес, дату, время. Эти же данные SMTP-серверы пишут и в свои лог-файлы.

Допустим, вы решили анонимно отправить злые слова вашему начальнику. Указав в своей почтовой программе несуществующий адрес отправителя, вы отправляете начальнику письмо с "левого" SMTP-сервера. Начальник, получив такое письмо, может связаться со своим провайдером и попросить разыскать обидчика. Обычно подобная работа входит в обязанности любого провайдера. Посмотрев на IP-адреса, даты и времена, указанные в служебных полях вашего письма, провайдер начальника обращается к вашему собственному провайдеру с просьбой сказать, кому он выделял такой-то IP-адрес такого-то числа в такое-то время. И ваш провайдер, несомненно, назовет ваше имя, номер телефона и ваш домашний адрес. Эти данные будут тут же переданы вашему начальнику. А ваш провайдер просто лишит вас возможности пользоваться Интернетом: от греха подальше. Несомненно, существуют способы действительно анонимной отправки писем. Об этом можно почитать на каких-нибудь других сайтах.

 

Если у вас несколько почтовых ящиков.

Когда у вас имеется несколько почтовых ящиков (тем более, на разных серверах), то вам наверняка хотелось бы иметь возможность снимать почту из всех ящиков одновременно или по очереди. Кроме того, как вам уже известно, если вы принялись скачивать почту, то вам придется снимать ее всю, пока ящик не освободится. Это, товарищи, связано с тем, что все пришедшие сообщения хранятся в spool-директории в одном общем файле, который и передается почтовому клиенту. Но не все потеряно. Существуют почтовые программы-клиенты, позволяющие работать одновременно с несколькими почтовыми ящиками, программы, позволяющие забирать почту выборочно, мало того, удалять нежелательные (или слишком большие) сообщения прямо на сервере, не тратя драгоценное интернет-время на перекачку ненужных писем. Одной из подобных программ я активно пользуюсь, называется она Magic Mail Monitor. Программа совершенно бесплатная, размер ее меньше 100 КБайт, а последнюю версию всегда можно скачать отсюда. Кое-какие операции с различными ящиками, включающие и выборочную работу с письмами на сервере, позволяет делать известный почтовый клиент "The Bat!".

 

Задачка для любознательных.

Напишем некоторое письмо. В качестве адреса получателя укажем какой-нибудь несуществующий адрес, например, elkа-dub@demos.ru. Почтовую программу предварительно настроим так, чтобы она указывала также совершенно несуществующий адрес отправителя, скажем, dub-elka@glasnet.ru. Что произойдет при отправке письма? Mailer-Daemon, работающий на компьютере, имеющем отношение к demos.ru, снабдит ваше письмо комментариями и отправит его по адресу отправителя - dub-elka@glasnet.ru. Там уже Glasnet'овский Mailer-Daemon допишет очередной комментарий и отправит письмо отправителю, то есть, обратно на Demos. Там его опять возьмет местный Mailer-Daemon, добавит еще комментариев и вернет на Glasnet. Ну и так далее. Вроде бы получается, что письма будут ходить туда-сюда вечно. А вы как думаете? Ответы присылайте по адресу: olezhka2@workmail.com.

 

Литература.

Как и прежде, при написании статьи автор не пользовался никакой литературой. Однако, если вас заинтересовала компьютерная тематика, я могу порекомендовать вам почитать статьи Дмитрия Турецкого, написанные простым, доходчивым языком. Их можно, например, найти по адресам www.vesti.ru/flopovod и www.listsoft.ru/tips/tips.htm. Кстати, его статья "Как работает Интернет" является, на мой взгляд, прекрасным дополнением к только что прочитанному вами пособию.

 
Олежка II, февраль 2000 г.
 


Hosted by uCoz