В первой половине 1970-х экология компьютерных сетей отошла от своего изначального предка ARPANET и разрослась в несколько разных измерений. Пользователи ARPANET обнаружили новое приложение, электронную почту, которая стала основной активностью в сети. Предприниматели выпускали свои варианты ARPANET для обслуживания коммерческих пользователей. Исследователи по всему миру, от Гавайев до Европы разрабатывали новые типы сетей для удовлетворения нужд или исправления ошибок, не учтённых ARPANET. Почти все участники этого процесса отошли от изначально определённой цели ARPANET – обеспечить общий доступ к вычислительным машинам и программам для разношёрстного спектра исследовательских центров, у каждого из которых были собственные особые ресурсы. Компьютерные сети стали в первую очередь средством объединения людей друг с другом или с удалёнными системами, служившими источником или свалкой человекочитаемой информации, к примеру, с информационными базами данных или принтерами.
Эту возможность предвидели Ликлайдер и Роберт Тэйлор, хотя не этой цели они пытались достичь, запуская первые сетевые эксперименты. У их статьи от 1968 года «Компьютер как устройство связи» отсутствует энергия и вневременное качество пророческой вехи в истории компьютеров, которые можно найти в статьях Вэнивара Буша “Как мы можем мыслить” или Тьюринга «Вычислительные машины и интеллект». Тем не менее, она содержит пророческий фрагмент касаемо ткани социального взаимодействия, сплетаемой компьютерными системами. Ликлайдер и Тэйлор описали недалёкое будущее, в котором:
Вы не будете отправлять письма или телеграммы; вы будете просто определять людей, чьи файлы нужно связать с вашими, и с какими частями файлов их нужно связывать, и, возможно, определять коэффициент срочности. Вы редко будете звонить по телефону, вы попросите сеть связать ваши консоли.
В сети будут доступны функции и сервисы, на которые вы будете оформлять подписку, и другие услуги, которыми вы будете пользоваться по необходимости. В первую группу войдут консультации по инвестициям и налогам, отбор информации из вашей области деятельности, объявления о культурных, спортивных и развлекательных событиях, соответствующих вашим интересам, и т.д.
(Правда, также в их статье было описано, как на планете исчезнет безработица, поскольку в итоге все люди станут программистами, обслуживающими нужды сети, и будут заниматься интерактивной отладкой программ.)
Первый и наиболее важный компонент этого управляемого компьютерами будущего – электронная почта – распространилась на манер вируса по ARPANET в 1970-х, начав захватывать весь мир.
Чтобы понять, как развивалась в ARPANET электронная почта, сначала нужно понять, какое важное изменение захватило вычислительные системы всей сети в начале 1970-х. Когда ARPANET впервые задумывали в середине 1960-х, у оборудования и управляющих программ, стоявших на каждой из точек, практически не было ничего общего. Многие точки концентрировались на специальных, существующих в единственном экземпляре системах, к примеру, Multics в MIT, TX-2 в лаборатории Линкольна, ILLIAC IV, строившийся в Иллинойском университете.
Но уже к 1973 году ландшафт компьютерных систем, подсоединённых к сети, приобрёл значительное единообразие, благодаря бешеному успеху компании Digital Equipment Corporation (DEC) и её проникновению на рынок научных вычислений (это было детище Кена Ольсена и Харлана Андерсона, основанное на их опыте работы с TX-2 в лаборатории Линкольна). DEC разработала мейнфрейм PDP-10, вышедший в 1968 и обеспечивавший надёжную работу разделения времени для небольших организаций, предоставляя целый набор инструментов и языков программирования, встроенных в него для упрощения подстройки системы под конкретные нужды. Именно это и нужно было научным центрам и исследовательским лабораториям того времени.
Посмотрите, сколько тут PDP!
Компания BBN, отвечавшая за поддержку ARPANET, сделала этот комплект ещё более привлекательным, создав операционную систему Tenex, добавившую страничную виртуальную память в PDP-10. Это серьёзно упростило управление и использование системы, поскольку больше не нужно было подгонять набор запущенных программ к доступному объёму памяти. BNN поставляла Tenex бесплатно на другие узлы ARPA, и вскоре эта ОС стала доминирующей в сети.
Но как всё это связано с емейлом? Пользователи систем с разделением времени уже были знакомы с электронными сообщениями, поскольку к концу 1960-х большинство из этих систем предоставляли почтовые ящики того или иного рода. Они обеспечивали некий вид внутренней почты, и письмами могли обмениваться только пользователи одной системы. Первым человеком, воспользовавшимся преимуществами наличия сети для передачи почты с одной машины на другую, стал Рэй Томлинсон, инженер из BBN и один из авторов Tenex. Он уже написал программу SNDMSG для отправки почты другому пользователю той же самой системы Tenex, и программу CPYNET для отправки файлов по сети. Оставалось лишь немного включить воображение, и он смог увидеть, как скомбинировать две эти программы для создания сетевой почты. В предыдущих программах для обозначения получателя требовалось только имя пользователя, поэтому Томлинсон придумал комбинировать имя местного пользователя и название хоста (местного или удалённого), соединяя их символом @, и получая уникальный для всей сети адрес емейл (прежде символ @ использовали редко, в основном для обозначения цен: 4 пирожных @ $2 за штуку).
Рэй Томлинсон в поздние годы, на фоне его характерного знака @
Томлинсон начал тестировать свою новую программу локально в 1971 году, а в 1972 его сетевая версия SNDMSG вошла в новый релиз Tenex, и результате чего почта Tenex смогла вырваться за рамки одного узла и распространиться по всей сети. Обилие машин под управлением Tenex дало доступ к гибридной программе Томлинсона сразу большей части пользователей ARPANET, и емейл немедленно снискал успех. Довольно быстро руководители ARPA включили использование емейла в повседневную жизнь. Стивен Лукасик, директор ARPA, был одним из первых пользователей, как и Ларри Робертс, всё ещё бывший главой отдела информатики в агентстве. Эта привычка неизбежно перешла и к их подчиненным, и вскоре емейл стал одним из базовых фактов жизни и культуры ARPANET.
Почтовая программа Томлинсона породила множество различных имитаций и новых разработок, поскольку пользователи искали способы улучшить её рудиментарную функциональность. Большая часть первых инноваций концентрировалась на исправлении недостатков программы для чтения писем. Когда почта вышла за пределы единственного компьютера, объём получаемых активными пользователями писем начал расти вместе с ростом сети, и традиционный подход к входящим письмам как к простому тексту перестал быть эффективным. Сам Ларри Робертс, не справляясь со шквалом входящих сообщений, написал собственную программу для работы с папкой «входящие» под названием RD. Но к середине 1970-х с большим отрывом по популярности лидировала программа MSG, написанная Джоном Витталом из Южно-Калифорнийского университета. Возможность по нажатию кнопочки автоматически заполнять поля названия и получателя исходящего сообщения на основе входящего мы принимаем аза данность. Однако именно программа MSG Витала впервые представила эту удивительную возможность «ответить» на письмо в 1975 году; и она тоже входила в набор программ для Tenex.
Разнообразие подобных попыток потребовало ввести стандарты. И это было первым, но далеко не последним случаем, когда сетевому компьютерному сообществу пришлось разрабатывать стандарты задним числом. В отличие от базовых протоколов ARPANET до появления каких-либо стандартов для емейла в дикой природе уже существовало множество вариантов. Неизбежно появились противоречия и политические трения, сконцентрировавшиеся на главных документах, описывавших стандарт емейла, RFC 680 и 720. В частности, пользователи ОС, отличных от Tenex, раздражённо возмущались тем, что предположения, встречающиеся в предложениях, были привязаны к особенностям Tenex. Конфликт никогда не разгорался слишком сильно – все пользователи ARPANET в 1970-х были всё ещё частью одного, относительно небольшого научного сообщества, да и разногласия были не такими уж крупными. Однако это был пример будущих битв.
Неожиданный успех емейла стал наиболее важным событием в развитии программного слоя сети в 1970-х – наиболее отвлечённого от физических деталей сети слоя. В то же время другие люди решились переопределить основополагающий слой «связи», в котором биты перетекали от одной машины к другой.
ALOHA
В 1968 году в Гавайский университет из Калифорнии прибыл Норма Абрамсон, чтобы заступить на совмещённую должность профессора по электротехнике и информатике. У его университета был основной кампус на Оаху и дополнительный в Хило, а также несколько общественных колледжей и исследовательских центров, разбросанных по островам Оаху, Кауаи, Мауи и Гавайи. Между ними пролегали сотни километров воды и гористой местности. На основном кампусе работал мощный IBM 360/65, однако заказать у AT&T выделенную линию, соединяющую с ним терминал, расположенный в одном из общественных колледжей, было не таким лёгким делом, как на материке.
Абрамсон был экспертом по радарным системам и теории информации, и одно время работал инженером в компании Hughes Aircraft в Лос-Анджелесе. И его новое окружение, со всеми его физическими проблемами, связанными с проводной передачей данных, вдохновило Абрамсона на новую идею – что, если радио будет лучшим способом соединения компьютеров, чем телефонная система, которую, в конце концов, разрабатывали для передачи голоса, а не данных?
Для проверки своей идеи и создания системы, названной им ALOHAnet, Абрамсон получил финансирование у Боба Тэйлора из ARPA. В первоначальном виде это была вообще не компьютерная сеть, а среда для связи удалённых терминалов с единственной системой разделения времени, разработанной для компьютера IBM, находившегося в кампусе Оаху. Как и в ARPANET, у неё был выделенный мини-компьютер для обработки пакетов, полученных и отправленных машиной 360/65 – Menehune, гавайский эквивалент IMP. Однако ALOHAnet не усложняла себе жизнь маршрутизацией пакетов между разными точками, какая использовалась в ARPANET. Вместо этого каждый терминал, желавший отправить сообщение, просто отправлял его в эфир на выделенной частоте.
Полностью развёрнутая ALOHAnet в конце 1970-х, с несколькими компьютерами в сети
Традиционным инженерным способом обрабатывать подобную общую полосу передач был порезать её на участки с разделением времени вещания или частот, и выделить каждому терминалу по участку. Но для обработки сообщений от сотен терминалов по такой схеме пришлось бы ограничить каждый из них малой долей доступной пропускной способности, при том, что реально в режиме работы могли находиться лишь несколько из них. Но вместо этого Абрамсон решил никак не мешать терминалам отправлять сообщения одновременно. Если два и более сообщений накладывались друг на друга, центральный компьютер обнаруживал это благодаря кодам коррекции ошибок, и просто не принимал эти пакеты. Не получив подтверждения в получении пакетов, отправители пробовали отправлять их снова по прошествии случайного количества времени. Абрамсон подсчитал, что такой простой протокол работы сможет поддерживать до нескольких сотен одновременно работающих терминалов, а из-за многочисленных наложений сигналов утилизировано будет 15% пропускной способности полосы. Однако по его вычислениям выходило, что при увеличении сети вся система свалится в хаос шума.
Офис будущего
Концепция «пакетного широковещания» Абрамсона сначала не вызвала шумихи. Но затем она родилась заново — через несколько лет, и уже на материке. Это было связано с новым исследовательским центром в Пало-Альто компании Xerox (PARC), открывшимся в 1970-м прямо рядом со Стэнфордским университетом, в районе, который незадолго до этого прозвали «Кремниевой долиной». Некоторые патенты Xerox по ксерографии вот-вот должны были закончиться, поэтому компания рисковала попасть в ловушку собственного успеха, не адаптируясь из-за нежелания или невозможности к расцвету вычислительной техники и интегральных схем. Джек Голдман, глава исследовательского отдела Xerox, убедил больших боссов, что новая лаборатория – отделённая от влияния штаб-квартиры, устроенная в комфортабельном климате, с хорошими зарплатами – привлечёт талант, необходимый для того, чтобы компания оставалась на переднем крае прогресса, разрабатывая информационную архитектуру будущего.
PARC определённо преуспел в вопросе привлечения лучших талантов из области информатики, и не только из-за условий работы и щедрой зарплаты, но и благодаря присутствию Роберта Тэйлора, в 1966-м запустившего проект ARPANET, будучи главой отдела ARPA по технологии обработки информации. Роберт Меткалф, вспыльчивый и амбициозный молодой инженер и специалист по информатике из Бруклина, был одним из тех, кто попал в PARC благодаря связям с ARPA. Он присоединился к лаборатории в июне 1972 года после того, как аспирантом работал на полставки для ARPA, изобретая интерфейс для соединения MIT с сетью. Устроившись в PARC, он всё равно остался «посредником» ARPANET – ездил по стране, помогал присоединять к сети новые точки, а также готовиться к презентации ARPA на международной конференции по компьютерной связи 1972 года.
Среди проектов, курсировавших в PARC на момент прибытия Меткалфа, был предложенный Тэйлором план подсоединения десятков, или даже сотен мелких компьютеров к сети. Год за годом стоимость и размеры компьютеров падали, подчиняясь неукротимой воле Гордона Мура. Смотрящие в будущее инженеры из PARC предвидели, что в не очень далёком будущем у каждого офисного работника будет свой собственный компьютер. В рамках этой идеи они разработали и создали персональный компьютер Alto, копии которого раздали каждому исследователю в лаборатории. Тэйлор, который за предыдущие пять лет только укрепился в своей вере в полезность компьютерной сети, тоже хотел связать все эти компьютеры вместе.
Alto. Сам компьютер находится снизу, в шкафчике размером с мини-холодильник.
Прибыв в PARC, Меткалф взял на себя задачу подключения принадлежавшего лаборатории клона PDP-10 к ARPANET, и быстро заработал репутацию «сетевика». Поэтому когда Тэйлору понадобилась сеть из Alto, его помощники обратились к Меткалфу. Как и компьютерам в ARPANET, компьютерам Alto в PARC практически нечего было сказать друг другу. Поэтому интересным применением сети снова стала задача по осуществлению общения людей – в данном случае, в виде слов и изображений, печатаемых лазером.
Ключевая идея лазерного принтера появилась не в PARC, а на восточном берегу, в первоначальной лаборатории Xerox в Вебстере, Нью-Йорк. Тамошний физик Гэри Старкуэзер доказал, что когерентный лазерный луч можно использовать для деактивации электрического заряда ксерографического барабана, точно так же, как и рассеянный свет, использовавшийся в фотокопии до того момента. Луч, будучи правильно модулированным, может рисовать изображение произвольной детализации на барабане, которое затем можно переносить на бумагу (поскольку только незаряженные части барабана захватывают тонер). Такая машина под управлением компьютера сможет выдавать любые комбинации изображений и текста, какие только придут в голову человеку, а не просто воспроизводить существующие документы, как фотокопировальный аппарат. Однако дикие идеи Старкуэзера не получили поддержки ни у его коллег, ни у его начальства в Вебстере, поэтому он перевёлся в PARC в 1971-м, где встретился с куда как более заинтересованной аудиторией. Возможность лазерного принтера выводить произвольные изображения поточечно сделала его идеальным партнёром для рабочей станции Alto, с её пиксельной монохромной графикой. При помощи лазерного принтера полмиллиона пикселей на дисплее пользователя можно было напрямую вывести на бумагу с идеальной чёткостью.
Битовое изображение на Alto. Ничего подобного на дисплеях компьютеров раньше никто не видел.
Примерно за год Старкуэзер, заручившись помощью ещё нескольких инженеров из PARC, устранил основные технические проблемы, и построил рабочий прототип лазерного принтера на шасси рабочей лошадки Xerox 7000. Страницы он выдавал с той же скоростью – по штуке в секунду – и с разрешением в 500 точек на дюйм. Генератор символов, встроенный в принтер, печатал текст предустановленными шрифтами. Произвольные изображения (отличные от тех, что можно было создать из шрифтов) пока не поддерживались, поэтому сети не нужно было передавать 25 млн бит в секунду для принтера. Тем не менее, для того, чтобы полностью занять принтер, потребовалась бы невероятная для тех времён пропускная способность сети – когда 50 000 бит в секунду были пределом возможностей ARPANET.
Лазерный принтер PARC второго поколения, Dover (1976)
Сеть Alto Aloha
И как же Меткалф смог заполнить этот разрыв в скорости? Вот мы и вернулись к ALOHAnet – оказалось, что Меткалф лучше кого бы то ни было разбирался в пакетном широковещании. За год до этого, летом, находясь в Вашингтоне вместе со Стивом Крокером по делам ARPA, Меткалф изучал материалы общей осенней компьютерной конференции, и наткнулся там на работу Абрамсона по ALOHAnet. Он сразу же понял гениальность базовой идеи, и то, что её реализация была недостаточно хорошей. Внеся некоторые изменения в алгоритм и его предположения – к примеру, сделав так, чтобы отправители сначала слушали эфир, ожидая очистки канала, перед тем, как пытаться отправлять сообщения, а также экспоненциально увеличивали интервал повторной передачи в случае забитого канала – он мог добиться утилизации пропускной полосы на 90%, а не на 15%, как выходило из расчётов Абрамсона. Меткалф взял небольшой отпуск, съездил на Гавайи, где включил свои идеи по поводу ALOHAnet в переработанный вариант своей докторской, после того, как Гарвард отклонил её первоначальную версию за отсутствием теоретической базы.
Сначала Меткалф назвал свой план по внедрению пакетного широковещания в PARC «сетью ALTO ALOHA». Затем в докладной записке от мая 1973 года он переименовал её в Ether Net [эфирная сеть], с отсылкой к светоносному эфиру, физической идеи XIX века о субстанции, переносящей электромагнитное излучение. «Это будет способствовать распространению сети, — писал он, — и кто знает, какие ещё способы передачи сигнала окажутся лучше кабеля для широковещательной сети; возможно, это будут радиоволны, или телефонные провода, или питание, или кабельное телевидение с частотным уплотнением, или микроволны, или их комбинации».
Набросок из докладной записки Меткалфа 1973 года
С июня 1973 года Меткалф работал с другим инженером из PARC, Дэвидом Боггсом, над воплощением своей теоретической концепции новой высокоскоростной сети в работающую систему. Вместо передачи сигналов по воздуху, как у ALOHA, он ограничивал радиоспектр коаксиальным кабелем, что кардинально увеличивало пропускную способность по сравнению с ограниченной полосой радиочастот у Menehune. Сама передающая среда была полностью пассивной, и не требовала никаких маршрутизаторов для роутинга сообщений. Она была дешёвой, и позволяла с лёгкостью подключить сотни рабочих станций – инженеры PARC просто провели коаксиальный кабель через здание, и добавляли подключения к нему по необходимости – а также была способна пропускать по три миллиона бит в секунду.
Роберт Меткалф и Дэвид Боггс, 1980-е, через несколько лет после того, как Меткалф основал 3Com для продажи технологии Ethernet
К осени 1974 года в Пало-Альто был развёрнут и работал законченный прототип офиса будущего – первая партия компьютеров Alto, с программами для рисования, емейлом и текстовыми процессорами, прототипом принтера от Старкуэзера и сетью Ethernet для объединения всего этого в сеть. Центральный файловый сервер, хранивший данные, которые не поместились бы на локальном диске Alto, был единственным общим ресурсом. Изначально PARC предлагала контроллер Ethernet как дополнительный аксессуар для Alto, но когда систему запустили, стало ясно, что он был необходимой частью; по коаксиалу пошёл неизменный поток сообщений, многие из которых выходили из принтера – технические отчёты, докладные записки или научные работы.
Одновременно с разработками для Alto, ещё один проект из PARC попытался продвинуть в новом направлении идеи по разделению ресурсов. «Онлайновая офисная система PARC» (POLOS), разработанная и внедрённая Биллом Инглишем и другими беглецами из проекта Дуга Энгельбарта «Онлайновая система» (NLS) Стэнфордского исследовательского института, состояла из сети микрокомпьютеров Data General Nova. Но вместо того, чтобы посвещять каждую отдельную машину определённым нуждам пользователя, в POLOS работа передавалась между ними, чтобы служить интересам системы в целом наиболее эффективным образом. Одна машина могла заниматься генерацией изображений для экранов пользователей, другая обрабатывать трафик ARPANET, третья – текстовыми процессорами. Но сложность и затраты на координацию в таком подходе оказались чрезмерными, и схема рухнула под собственным весом.
А тем временем, ничто иное не показывало эмоциональное отторжение Тэйлором подхода к сети с разделением ресурсов лучше, чем его принятие проекта Alto. Алан Кей, Батлер Лэмпсон и другие авторы Alto принесли всю вычислительную мощность, которая может понадобиться пользователю, на его независимый компьютер на столе, которым он не должен был ни с кем делиться. Функцией сети было не обеспечение доступа к разнородному набору компьютерных ресурсов, а передача сообщений между этими независимыми островами, или хранение их на каком-то дальнем берегу – для распечатки или долгосрочного архивирования.
Хотя и емейл, и ALOHA были разработаны под покровительством ARPA, появление Ethernet стало одним из нескольких появившихся в 1970-х признаков того, что компьютерные сети стали слишком большими и разнообразными для того, чтобы на этом поприще могла доминировать одна компания, и эту тенденцию мы отследим в следующей статье.
Что ещё почитать
- Michael Hiltzik, Dealers of Lightning (1999)
- James Pelty, The History of Computer Communications, 1968-1988 (2007) [http://www.historyofcomputercommunications.info/]
- M. Mitchell Waldrop, The Dream Machine (2001)
Автор: Вячеслав Голованов
Источник: https://habr.com/