Работы «RAND Corporation» над любым заданием завершаются докладом. Доклад является серьезным, разносторонним и многоплановым исследованием определенной темы. Это недешевое удовольствие, но оно того стоит. Доклад всегда заканчивается серьезными и научно обоснованными рекомендациями, которые иной раз могут идти вразрез с мнением заказчика. Это, пожалуй, самый интересный случай. Поскольку доклад носит рекомендательный характер, заказчик может принять рекомендации «RAND», а может их и проигнорировать. В любом случае оговаривается, что доклад считается выражением личного мнения авторов. Корпорация же отвечает только за высокий профессиональный уровень выполненного анализа, но ни в коем случае не принимает на себя ответственность за результаты применения или неприменения рекомендаций, изложенных в докладе.
Кто придумал Интернет?
На простой вопрос: «Кто придумал Интернет?» простого ответа дать нельзя. Интернет не изобрел один человек, здесь работы хватило многим. И хватает, и хватит еще надолго.
1960. Пол Бэрен. Передача информации по сети
Принято считать, что начало развитию Интернета положил доклад «RAND Corporation» по вопросу устойчивости систем связи в условиях ядерной войны. Доклад этот в 1960 году представила группа, которой руководил видный инженер-электрик Пол Бэрен (Paul Baran, 1926–2011). Таким образом, П. Бэрена с полным основанием можно считать отцом-основателем Интернета.
П. Бэрен родился в еврейской семье в городе Гродно, тогда находившемся на территории Польши. В 1928 году семья перебралась в США, сначала в Бостон, а потом в Филадельфию.
В 1949 году Пол Бэрен получил диплом инженера-электрика и поработал в нескольких компаниях, одна из которых занималась производством первого коммерческого американского компьютера UNIVAC, а другая – системой обработки радиолокационных данных. При этом П. Бэрен перебрался с восточного берега Соединенных Штатов на западный, из Пенсильвании в Калифорнию. Если посмотреть по карте, расстояние это сравнимо с расстоянием от Москвы до Иркутска. Но для американцев, особенно молодых, переезд к новому месту работы – дело обычное, даже если для этого приходится пересечь всю страну.
Пол Бэрен
В 1959 году П. Бэрен начал свою работу в «RAND Corporation» в отделе, проектировавшем системы связи, которые могли бы «выжить» в условиях ядерного удара.
Прежняя система связи была приспособлена к централизованной, иерархической структуре армейского командования. Доклады о том, как идут боевые действия, передавались снизу вверх, от младших командиров к старшим. Приказы же «спускались» сверху вниз, от Генерального штаба к крупным воинским подразделениям, оттуда к подразделениям более мелким, пока, наконец, не достигали уровня командиров рот и взводов.
С появлением радиосвязи управление войсками стало, как казалось генералам, идеально быстрым и идеально надежным. Ведь чем выше был уровень командира, тем дальше он находился от поля боя и тем более защищенным был его штаб. Здесь о защищенности линии связи думать не приходилось. На уровне же роты или взвода, то есть в самом пекле, проблема надежности связи решалась просто: убили радиста – пришлем другого, и связь будет восстановлена.
Появление ракетно-ядерного оружия сделало беззащитными и самые верхние командные уровни. Более того, стало ясно, что именно на них будет направлен первый удар. Обезглавить армию – значит сделать ее небоеспособной. Вспомните тактику испанских конкистадоров при завоевании Южной Америки, о которой мы только что говорили. Ну, хорошо, можно дислоцировать Генеральный штаб в нескольких местах, можно пересидеть ядерный удар в защищенных подземных бункерах. Но как отдавать приказы, если единственная линия связи повреждена? Посылать нарочных по радиоактивной пустыне, как в компьютерной игре Fallout? Проложить несколько запасных телефонных линий, которые в мирное время будут бездействовать? Но сколько таких линий должно быть, чтобы обеспечить приемлемую надежность за приемлемую цену? Одним словом, следовало придумать правильный метод децентрализации линий связи. Эту задачу и должна была решить группа, возглавляемая П. Бэреном.
Ученые моделировали систему связи с помощью особых математических объектов, которые называются графами. В этой модели узлы связи (приемники – передатчики) обозначались точками (вершинами графа), а линии связи – прямыми, соединявшими эти точки (ребрами графа).
Графическая модель с очевидностью демонстрировала ненадежность иерархически организованной системы связи. При повреждении узла связи выходят из строя все связанные с ним линии. «Выбивание» любого узла в системе связи с иерархической структурой (на рисунке – схема а) приводит к тому, что все нижестоящие узлы глохнут, слепнут и немеют. «Выбивание» самого верхнего узла (условно говоря, Генерального штаба) делает бесполезной всю систему связи. Если учесть, что повреждений в системе может быть несколько и на разных уровнях, время восстановления работоспособности иерархической системы драматически возрастает.
Децентрализация системы связи, то есть дублирование некоторых узлов и линий связи, увеличивает общую надежность, но не намного.
А вот распределенная сеть связи (схема б) оказалась очень надежной. Каждый узел в такой сети связан линиями с несколькими соседними узлами. Здесь нет «главных» и «подчиненных» узлов. Если граф централизованной сети по своему внешнему виду напоминает перевернутое дерево (или, по другой терминологии, «веник»), то граф распределенной сети похож на рыболовную сеть с множеством ячеек. Так что сложнее: сломать «веник» или разорвать «невод»?
С помощью компьютерного моделирования П. Бэрен и его группа проанализировали устойчивость распределенной сети с одинаковым количеством линий связи для каждого узла. По ходу моделирования случайным образом повреждались некоторые узлы. После этого считался общий процент узлов, так или иначе доступных для передачи данных. Оказалось, что в распределенной сети, где каждый узел связан не менее чем с тремя соседями, даже при повреждении 50 % узлов сохраняется достаточное количество линий связи для того, чтобы можно было передать сообщение между двумя любыми узлами сети, если не прямо, то окольным путем. В распределенной компьютерной сети всегда отыщется такой путь, и, как правило, не один.
Графические модели систем связи
На этом основана другая идея П. Бэрена – о коммутации пакетов (packet switching). Он предложил передавать по линиям связи не аналоговые, а цифровые сообщения, разбивая их на небольшие равные порции, пакеты. Передача таких пакетов по сети должна была производиться одновременно по разным путям, а в пункте назначения сообщение заново собиралось бы из пришедших пакетов. Такой способ одновременно уменьшал общее время передачи сообщения и повышал надежность передачи.
Правда, чтобы эта идея заработала, каждый узел распределенной сети должен был иметь специальную аппаратуру для коммутации (перенаправления) пакетов в соответствии с определенным алгоритмом и отдельный узел для превращения аналогового сигнала в цифровой и обратно.
Фактически в предыдущем абзаце в одном предложении – хоть патентуй! – описан принцип работы сотовой связи. Без сотовых сетей и мобильных телефонов мы не можем себе представить современную жизнь. Но в начале 1960-х годов ни одна из телефонных компаний (а линии связи тогда были в основном телефонными) технически и коммерчески разумное решение для создания таких сетей не нашла. До появления мобильного телефона оставалось еще пятнадцать лет…
1968. Дональд Дэвис. Пакетная передача – быстрота и надежность
Одновременно с П. Бэреном идею пакетной передачи информации по коммуникационным сетям предложил английский физик Дональд Дэвис (Donald Watts Davies, 1924–2000). Именно он ввел в широкий обиход термин «пакет», ставший одним из основных терминов Интернета.