Автор предполагает, что читатель этой статьи является более или менее успешным пользователем ПК, в частности, имеет представление о его файловой структуре. Если читателю довелось поработать в операционных системах (ОС), подобных MS-DOS, - это почти неизбежно, если его знакомство с ПК сводится к работе в таких "интуитивно дружественных" ОС, как Windows или MacOS, - ему будет чуть труднее (такова плата, взимаемая жизнью за облегченный курс образования).
Вместе с тем, как автор опасается, читатель окончательно растерялся от изобилия информации о глобальных сетях, в результате чего у него сложилось ощущение, что "Internet - это светлое будущее человечества", и возникли сильные сомнения в том, что ему в этом будущем есть место.
Цель этого текста - развеять (по крайней мере отчасти) подобные опасения и прояснить некоторые основные понятия. В путь!
"Локальная сеть" - соединение нескольких компьютеров при помощи таких технических средств (каналов связи) и таких программных средств, которые позволяют объединять файловые системы входящих в нее компьютеров (не обязательно всех со всеми). При этом пользовательские программы не должны ощущать качественную разницу между компонентами файловой системы, находящимися физически на собственных дисках компьютера, и компонентами, размещенными на других компьютерах (количественная разница, выражающаяся в неодинаковой скорости доступа, разумеется, будет).
Как правило, в локальную сеть объединяют компьютеры, находящиеся физически очень близко (в одной комнате или, в крайнем случае, в соседних зданиях). Число компьютеров в локальной сети ограничено обычно десятками или сотнями.
"Глобальная сеть" - такое соединение компьютеров, при котором возможно использование информации, физически находящейся на других компьютерах сети (однако, в отличие от того, как это бывает в локальной сети, пользовательским программам не предоставляется непосредственный доступ к файловой системе других компьютеров).
В глобальной сети может участвовать неограниченное число компьютеров, расположенных по всему миру.
С этого места мы будем называть "сетью" (без определений) глобальную сеть, притом являющуюся организацией (как правило, юридическим лицом) с более или менее фиксированным членством. Компьютер (или локальную сеть), присоединенную к какой-либо сети, будем называть "машиной".
Состав участников - машин, подключенных к сети, - регулируется компанией-владельцем на основе договора о предоставлении услуг. Каждая машина получает от компании уникальный номер. Для обмена информацией клиенты (владельцы машин) получают от компании специальные программы, обеспечивающие необходимые операции по приему и отправке информации. Эти программы могут быть разными для разных компьютеров и ОС, однако все они соблюдают единый формат передаваемой информации и запросов на операции (протокол обмена).
Наконец, мы подходим к столь популярному слову Internet.
Internet - это не сеть в смысле приведенного определения, а совокупность сетей, применяющих единый протокол обмена (точнее, обширное семейство из сотен и тысяч протоколов) для передачи информации. Кроме того, сети, входящие в Internet, используют единую систему адресации: каждая сеть, присоединяясь к Internet, получает в свое распоряжение множество адресов, которые распределяет среди клиентов.
Таким образом, протоколы Internet полностью регулируют техническую сторону: обмен информацией между любыми двумя машинами - членами сетей, принадлежащих к Internet, так что программному обеспечению машин совершенно не обязательно "знать", к одной или к разным (и к каким именно) сетям принадлежат машины. Разумеется, это может быть не безразлично с финансовой точки зрения: с конкретной сетью (точнее, с ее владельцем, которого называют "провайдером" сетевых услуг) клиент находится в юридических отношениях.
Итак, "быть пользователем Internet" означает быть пользователем сети (и, соответственно, клиентом компании-провайдера), полностью соблюдающей протоколы Internet.
Фундаментально для структуры и функционирования Internet важны два протокола, часто упоминаемых вместе как TCP/IP. Первый из них, IP, - протокол довольно низкого уровня (между прочим, буквы IP означают всего-навсего... Internet Protocol!). Этот протокол определяет, что любая информация, независимо от ее внутренней структуры, которую какая-то машина передает другой, представляет собой последовательность байтов ("пакет" длиной примерно 1500 байт), сопровождаемую стандартной служебной записью, в которую входят адреса машины-получателя и отправителя длиной 4 байта (это тот самый универсальный Internet-адрес, который мы упоминали в предыдущем разделе).
А как быть, если вашей машине необходимо отправить фрагмент информации (например, письмо) длиной больше одного пакета? Ведь с точки зрения IP отдельные пакеты - это именно отдельные пакеты, они никак (кроме адреса получателя и отправителя) не связаны друг с другом. Ответ таков: это регулируется протоколом TCP (более высокого уровня), согласно которому внутри пакета будет служебная строчка приблизительно такого содержания:
в этом пакете фрагмент файла XXX, байты с NNN1 по NNN2
Кроме того, программа, реализующая протокол TCP на машине получателя, собирает эти фрагменты в правильном порядке и проверяет, все ли они дошли и не испортились ли при пересылке. Если какой-то пакет потерян или испорчен, программа посылает запрос машине-отправителю с просьбой выслать недостающие пакеты повторно.
Программы, обслуживающие протокол IP, отправляют пакеты машине-получателю. При этом крайне редко бывает, чтобы отправитель и получатель были соединены физически (точнее, так бывает практически исключительно внутри локальных сетей). Разумеется, программа, реализующая IP, "знает", с какими машинами физически соединена данная. Но спрашивается, что делать, если получатель не входит в число "счастливчиков"?
Ответ: попытаться "угадать", как устроена промежуточная цепочка из машин (в которой каждые две соседние физически соединены), связывающая отправителя и получателя. Для этого машины хранят и периодически обновляют информацию о наиболее важных "узловых" машинах, связанных с наибольшим числом других. Далее из списка выбирается ближайшая (с точки зрения вида адреса) к получателю, и пакет отправляется по цепочке, которая хранится в памяти машины как ведущая к этому узлу. Ту же задачу решает следующая машина, а у нее может быть "свое мнение" о том, какой путь ведет к цели. Как ни удивительно, обычно пакеты все же доходят по получателя (часто не самым коротким маршрутом, разумеется)...
Набор этих операций настолько походит на функции команд DOS (dir, copy, delete, cd) или Диспетчера файлов Windows (а также различных оболочек вроде Norton Commander), что зачастую интерфейс программ-клиентов FTP неотличим от них (а некоторые программы - диспетчеры файлов, такие как FAR Евгения Рошала, позволяют одинаково работать с каталогами и папками на своей и удаленной машинах, не различая их).
Сокращение HTML (HyperText Markup Language) означает "язык гипертекстовой разметки". Текст на языке HTML выглядит как обычный ASCII-текст, в который в угловых скобках <...> вставлены команды (также читаемые "невооруженным" глазом), отмечающие границы абзацев, заголовки, шрифтовое выделение и т. д., а главное - ссылки.
Программа просмотра HTML-файлов (браузер) показывает на экране текст (разумеется, без команд в угловых скобках), а команды - интерпретирует. Скажем, пара команд <i>...</i> приводит к тому, что заключенный между ними текст выделяется (в графическом браузере будет использован курсив).
Фрагмент текста, отмеченный как ссылка, выделяется на экране цветом или подчеркиванием (часто и тем и другим), и при позиционировании на нем курсора и выполнении определенного действия (нажатии на клавишу Enter, щелчке кнопкой мыши) на экран начинает выводиться другой текст. Какой именно, - написано в тексте команды. Это может быть и другое место того же файла, и другой файл на той же машине, и, что важнее всего, файл на другой машине, имеющей адрес в Internet.
В последнем случае браузер "понимает", что команда (выполнение которой инициировал пользователь) требует просмотра файла, находящегося на другой машине, и посылает запрос в формате протокола HTTP на копирование этого файла на машину клиента. После полного или частичного копирования файла браузер начинает показывать его пользователю (а там, в свою очередь, могут быть ссылки, которые пользователь сможет активизировать и вызвать дальнейший просмотр файлов на других машинах).
Ссылки могут быть не только на HTML-файлы, но и на любые другие (чисто текстовые, содержащие изображения и т. д.). Такие файлы просто копируются на машину клиента, и Web-браузер уже сам решает, что с ними делать (например, изображение показывает на экране, звуковой файл воспроизводит при помощи звуковой платы; в ряде случаев он вызывает для интерпретации файла внешнюю программу).
Почему именно этот протокол так расширил возможности Internet? Дело в том, что протокол HTTP и язык HTML предоставляют возможность интегрировать воедино все информационные ресурсы мира, где бы они ни располагались. Например, вы публикуете на Web-сервере статью, в которой имеется редкое слово. Для пояснения этого слова вы обращаетесь к словарю. Вместо того чтобы включать словарную статью в свой текст, вы даете гипертекстовую ссылку: "триангуляция (подробнее об этом термине см. электронную геологическую энциклопедию)".
Читатель, знающий этот термин, читает дальше, интересующийся определением - нажимает на выделенные слова. Web-браузер начинает считывать с Web-сервера, на котором хранится энциклопедия, статью "Триангуляция".
В свою очередь, составители геологической энциклопедии могут не пояснять в тексте, например, химические термины, а давать аналогичную ссылку на химическую энциклопедию.
Протокол Telnet определяет такой способ передачи информации, при котором машина-клиент делается терминалом машины-сервера (иными словами, программа, запущенная на сервере, передает свой вывод не на экран какого-то локального терминала, а машине-клиенту и получает ввод не с клавиатуры, а также от клиента). Машина-клиент, как правило, передает и получает эту информацию уже от локального терминала, хотя возможно и многократное, по цепочке, присоединение по протоколу Telnet.
Протокол Telnet позволяет удаленным пользователям использовать не только файловые ресурсы данной машины, но и ее вычислительную мощность (а также установленные на ней программы).
Разумеется, на каждой машине может иметься "живой" оператор, и тогда целесообразно, чтобы коммуникационные программы на обоих концах имели симметричные функции. К числу симметричных по определению относится программа Chat, организующая передачу на экран другой машины всего, что набирается на клавиатуре каждой из них.
Таким образом, две соединенные между собой по модемному протоколу машины образуют маленькую, но все же глобальную сеть.
BBS (Bulletin Board System, электронная доска объявлений) - разновидность терминальной программы на хост-машине общего доступа с широкими функциями копирования и поиска информации.
Во-первых, это может быть хост-программа, совместимая с терминальной программой на другом конце линии (связь между терминальными программами и хостами регулируется протоколами, причем простейший из них - ASCII - поддерживает практически любая программа). После установления связи позвонившая машина начинает работать как терминал хост-машины. Если хост-машина подключена к Internet, пользователь сможет работать с протоколами Internet, запуская ее программы-клиенты (разумеется, при условии, что их функции вообще совместимы с режимом терминала: скажем, если Web-браузер хост-машины требует специального терминала, он наверняка не сможет работать с терминальной программой, имеющейся в распоряжении пользователя). Кроме того, не надо забывать, что фактически все операции делает хост-машина, так что, к примеру, файлы, переданные по FTP, окажутся в текущем каталоге хост-машины, а вовсе не у пользователя. Дальше их можно передать с помощью специальных модемных программ копирования файлов, о которых шла речь выше. Кстати, эта проблема возникает и при пользовании протоколом Telnet.
Другой вариант - это использование протокола PPP. Протокол PPP определяет, как программам (PPP-серверу на хост-машине и PPP-клиенту на клиентской) передать по телефонному каналу ("поверх" модемного протокола) информацию в формате протокола TCP/IP. Его применение позволяет создать на пользовательском компьютере полноценную Internet-машину, связанную с остальным миром Internet при помощи временного модемного канала.
Можно имитировать даже телефонный разговор. Если на каждой из машин установлена звуковая плата или иной преобразователь звука в цифры и обратно, что мешает передавать на другую машину не символы с клавиатуры, а байты, порожденные звуковой платой? Правда, передача пакетов занимает вполне ощутимое время, да еще протокол TCP должен разобрать их по порядку, так что между репликами сторон проходит несколько секунд, как при разговоре с космонавтами на Луне... Значительно более высокого качества достигают провайдеры, резервирующие относительно свободный канал для таких (голосовых) пакетов и предоставляющие своим клиентам такую платную услугу (IP-телефонию). При этом качество может приближаться к обычному для междунарожного разговора, а цена услуги может быть на порядок ниже (причем зависит не от расстояния, а от наличия в данную страну скоросного канала, так в 2001 году в Москве обычный тариф такой услуги для связи с США составлял около 6.5 руб/мин.)
Как и при использовании обычной почты, в "почтовый конверт" могут быть вложены не только письма в строгом смысле слова, но и другие предметы (в ЭП это файлы). Способ этого вложения описывается специальным протоколом MIME.
Часто спрашивают, зачем нужна ЭП, если есть Talk и другие, еще более мощные возможности? Помимо исключительной технической простоты этой услуги (об этом ниже), по той же причине, по которой телефон не вытеснил "бумажную" почту. Что вы будете делать, если вам не удалось дозвониться? Звонить снова и снова? Проще послать письмо, а уж как почтальон вручит его адресату (или в какой ящик он его опустит) - проблема почтового ведомства. Кроме того, многие ситуации человеческого общения и не требуют прямого диалога, предполагая, что адресат получит длинное сообщение (письмо) и будет над ним думать - не у телефонной трубки же, в самом деле?
Базы данных, электронные платежи и другие специальные возможности
Во всех случаях, когда требуется обратиться к большим ресурсам мощной машины, а количество передаваемой на терминал пользователя информации невелико, Internet без труда заменит личное присутствие пользователя у "большой" машины. Так, запрос к суперкомпьютеру, обслуживающему библиотечный каталог, скажем Библиотеки конгресса, о том, есть ли в ней такая-то книга, занимает сотню байт (и ответ не длиннее), но может потребовать триллионов операций мощного компьютера над базой данных, объем которой достигает многих гигабайтов. Сидит ли пользователь прямо за локальным терминалом библиотечного компьютера или находится от него на расстоянии в десять тысяч километров - неважно.
Другой пример - проверка электронной подписи. Сама по себе подпись - это сотня цифр, ее передача через десятки посредников, мили оптоволокна и спутники Земли обойдется в доли цента, но вот проверка подписи должна делаться на специальном, защищенном от вторжения компьютере. При этом местонахождение клиента не имеет значения - оно ничего не затрудняет и не облегчает.
Любые задачи такого рода, в которых объем вычислительных (или поисковых) работ многократно превышает количество информации, передаваемой от клиента или к клиенту, "просятся" в Internet. И просятся успешно: вы найдете там и базы данных, и справочные системы, и банки, надежно осуществляющие любые транзакции по открытым (!) каналам Internet.
Электронные письма, посланные на такую машину в то время, пока она не соединена с РРР-сервером, хранятся в специальном "почтовом ящике" (базе данных) и передаются на машину клиента по его запросу.
Однако существует способ еще больше сократить время, в течение которого компьютер пользователя занимает телефонную линию, если из всех услуг Internet ограничиться только одной ЭП. Для этого существует протокол UUCP, определяющий следующий способ обмена письмами: машина-клиент (обычно машина, на которой работают конечные пользователи) связывается на очень короткое время с хост-машиной (которая обычно, хотя и не всегда, уже имеет соединение с Internet по круглосуточному каналу и протоколу TCP/IP). UUCP-сервер на хост-машине накапливает все письма, адресованные машине-клиенту в течение межсеансных промежутков (которые могут продолжаться часы или даже дни); при установлении связи клиент и хост обмениваются всей накопившейся входящей и исходящей почтой, и связь прерывается. При этом, во-первых, не требуется присутствия оператора, во-вторых, модем загружен на 100% (в отличие от работы, скажем, Web-браузера, когда модем простаивает все время, пока пользователь читает текст, т. е. более 90% времени).
До недавних пор реализация протокола UUCP для MS-DOS (программа UUPC) была самой распространенной почтовой программой в России, и большинство пользователей Internet составляли пользователи именно этой службы (e-mail по протоколу UUCP). Сегодня, когда количество телефонных каналов в нашей стране растет очень медленно и их дефицит стал главным ценообразующим фактором на услуги Internet (уровень этих цен, хотя и снижается, по-прежнему в Москве выше, чем в США), протокол UUCP остается способом предоставления бесплатных услуг ЭП некоторыми некоммерческими провайдерами.
Другой пример - получение новостей (телеконференций). Посылка статьи происходит в форме письма машине-серверу, заказ оглавления архива статей (всех или только новых для вас) - тоже по почте. Вы, впрочем, можете послать серверу просьбу высылать вам просто все новые статьи в данной группе.
Каждый пользователь ЭП может принять участие в близком аналоге телеконференций - списке рассылки (mailing list) - или даже сам организовать его. Это услуга, при которой все письма, поступившие на адрес, зафиксированный за этим списком, рассылаются всем подписчикам. Также по почте (адресуя письма на адрес программы обслуживания данного списка) можно включить себя в список (подписаться) или исключить себя из него.
К сожалению, провайдеры бесплатной ЭП иногда ограничивают доступ клиентов к этим дополнительным возможностям.
Важнейшим примером не-Internet-сетей является всемирная сеть FidoNet. О ней мы поговорим ниже, а сейчас на примере передачи почты рассмотрим, как не-Internet-сети связываются с "большим миром".
Для этого служит машина, входящая одновременно в две сети - Internet и какую-то еще. Такая машина называется "шлюзом" (gateway). Программа, работающая на шлюзе, преобразует письма в формат, принятый в получающей сети. При этом между сетями должно быть заключено соглашение (протокол) о способе пересчета адресов. Например, в сети CompuServe стандартный адрес представляет собой цепочку цифр, разделенную одной запятой. В Internet принято такие адреса преобразовывать, заменяя запятую на точку и добавляя после этого строку @compuserve.com. Шлюз заменяет точку на запятую и отбрасывает @compuserve.com. Проблема передачи другой информации (кроме писем) гораздо сложнее и зачастую неразрешима.
Крупнейшая (и единственная всемирная) сеть, не входящая в Internet, называется FidoNet. У этой сети нет пользователей, а есть члены организации, поэтому все ее участники имеют права и обязанности, не сводимые к отношениям продавца и клиента (более того, устав Fido практически исключает взимание платы за услуги). Работа сети поддерживается машинами (преимущественно ПК) ее членов, а передача информации происходит по модемным каналам (в последнее время частично и по другим сетям, в том числе входящим в Internet). Это приводит к тому, что сеть практически работает на основе ЭП и опирающихся на нее услуг (эхо-конференций - аналога групп новостей, - и файл-эхо - аналога FTPmail). Сеть работает на основе оригинального протокола FTN и совершенно особой, жесткой системы адресов машин, гораздо сильнее, чем в Internet, предрешающей прохождение письма через промежуточные машины.
В настоящее время, когда письмо по Internet идет секунды, а по Fido - сутки и себестоимость услуг в Fido превзошла стоимость ЭП в Internet, Fido продолжает жить - в основном за счет эхо-конференций. Дело в том, что фиксированное членство в Fido позволяет применять к нарушителям тематики, правил приличия и т. п. в эхо-конференциях эффективные санкции, что совершенно невозможно в конференциях Internet. Цензура не цензура, но некоторая редактура (так называемое "модерирование") идет на пользу: эхо-конференции Fido, как правило, намного интереснее и содержательнее соответствующих по тематике конференций Internet.
Коммутируемые (т. е. обычные) телефонные линии имеют разную пропускную способность, и разные модемы по-разному к ней "приспосабливаются". Наихудшие - сельские линии, а также линии мобильных телефонов. Они зачастую позволяют работать модему на скорости не выше 9600 бод. Большинство московских каналов позволяют работать модемам на скорости 28800-33600 бод, а на новых "цифровых" АТС достигается скорость 57600 бод на приеме информации (максимально возможная для этого вида связи).
Скорость передачи файлов в байтах в секунду составляет примерно 10% от быстродействия модема в бодах (без учета возможности сжатия информации по алгоритму, напоминающему всем известный архиватор Zip).
В Москве и тем более в остальной России модем для коммутируемых линий
должен осуществлять (сам, "аппаратно", т. е. без поддержки терминальной
программы) контроль ошибок передачи по протоколу V.42. Модемы без такого
режима могут использоваться только для связи через первоклассные
линии, например, через цифровую АТС с провайдером, расположенным
на этой же АТС.
Вернуться на страницу МЕТОДИЧЕСКАЯ КОЛЛЕКЦИЯ