WEB / История Интернет / I


Введение.

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

Интернет представляет собой один из наиболее успешных примеров того, какую пользу могут принести долгосрочные вложения и поддержка исследований и разработки информационной инфраструктуры. Начиная с ранних исследований в области пакетной коммутации, правительство, промышленность и академическая наука оставались партнерами в развитии и развертывании этой изумительной новой технологии. В наши дни словосочетания вроде leiner@mcc.com и http://www.acm.org легко слетают с языка первого встречного.

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

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

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


Истоки Интернет



Первым документальным описанием социального взаимодействия, которое станет возможным благодаря сети, была серия заметок , написанных Дж. Ликлайдером (J.C.R. Licklider) из Массачусетского технологического института (MIT) в августе 1962 года. В этих заметках обсуждалась концепция "Галактической сети" ("Galactic Network"). Автор предвидел создание глобальной сети взаимосвязанных компьютеров, с помощью которой каждый сможет быстро получать доступ к данным и программам, расположенным на любом компьютере. По духу эта концепция очень близка к современному состоянию Интернет. В октябре 1962 года Ликлайдер стал первым руководителем исследовательского компьютерного проекта в Управлении перспективных исследований и разработок Министерства обороны США (Defence Advanced Research Projects Agency, DARPA). Ликлайдер сумел убедить своих преемников по работе в DARPA — Ивана Сазерленда (Ivan Sutherland) и Боба Тейлора (Bob Taylor), а также исследователя из MIT Лоуренса Робертса в важности этой сетевой концепции.

Леонард Клейнрок из MIT опубликовал первую статью по теории пакетной коммутации в июле 1961 года, а первую книгу — в 1964 году. Клейнрок убедил Робертса в теоретической обоснованности пакетных коммуникаций (в противоположность коммутации соединений), что явилось важным шагом на пути к созданию компьютерных сетей. Другим ключевым шагом должна была стать организация реального межкомпьютерного взаимодействия. Для исследования этого вопроса Робертс совместно с Томасом Меррилом (Thomas Merrill) в 1965 году связал компьютер TX-2, расположенный в Массачусетсе, с ЭВМ Q-32, находившейся в Калифорнии. Связь осуществлялась по низкоскоростной коммутируемой телефонной линии. Таким образом была создана первая в истории (хотя и маленькая) нелокальная компьютерная сеть . Результатом эксперимента стало понимание того, что компьютеры с разделением времени могут успешно работать вместе, выполняя программы и осуществляя выборку данных на удаленной машине. Стало ясно и то, что телефонная система с коммутацией соединений абсолютно непригодна для построения компьютерной сети. Убежденность Клейнрока в необходимости пакетной коммутации получила еще одно подтверждение.

В конце 1966 года Робертс начал работать в DARPA над концепцией компьютерной сети. Довольно быстро появился план ARPANET , опубликованный в 1967 году. На конференции, где Робертс представлял свою статью, был сделан еще один доклад о концепции пакетной сети. Его авторами были английские ученые Дональд Дэвис (Donald Davies) и Роджер Скентльбьюри (Roger Scantlebury) из Национальной физической лаборатории (NPL). Скентльбьюри рассказал Робертсу о работах, выполнявшихся в NPL, а также а работах Пола Бэрена (Paul Baran) и его коллег из RAND (американская бесприбыльная организация, занимающаяся стратегическими исследованиями и разработками). В 1964 году группа сотрудников RAND написала статью по сетям с пакетной коммутацией для надежных голосовых коммуникаций в военных системах. Оказалось, что работы в MIT (1961-1967), RAND (1962-1965) и NPL (1964-1967) велись параллельно при полном отсутствии информации о деятельности коллег. Разговор Робертса с сотрудниками NPL привел к заимствованию слова "пакет" и решению увеличить предлагаемую скорость передачи по каналам проектируемой сети ARPANET с 2.4 Кбит/с до 50 Кбит/с.

В августе 1968 года, после того как Робертс и организации, финансируемые из бюджета DARPA, доработали общую структуру и спецификации ARPANET, DARPA выпустило запрос на расценки (Request For Quotation, RFQ), организовав открытый конкурс на разработку одного из ключевых компонентов — коммутатора пакетов, получившего название Интерфейсный процессор сообщений (Interface Message Processor, IMP). В декабре 1968 года конкурс выиграла группа во главе с Фрэнком Хартом (Frank Heart) из компании Bolt, Beranek и Newman (BBN). После этого роли распределились следующим образом. Команда из BBN работала над Интерфейсными процессорами сообщений, Боб Кан принимал активное участие в проработке архитектуры ARPANET, Робертс совместно с Ховардом Фрэнком (Howard Frank) и его группой из Network Analysis Corporation проектировали и оптимизировали топологию и экономические аспекты сети, группа Клейнрока из Калифорнийского университета в Лос-Анджелесе (UCLA) готовила систему измерения характеристик сети.

Благодаря тому, что Клейнрок уже в течение нескольких лет был известен как автор теории пакетной коммутации и как специалист по анализу, проектированию и измерениям, его Сетевой измерительный центр в UCLA был выбран в качестве первого узла ARPANET. Тогда же, в сентябре 1969 года, компания BBN установила в Калифорнийском университете первый Интерфейсный процессор сообщений и подключила к нему первый компьютер. Второй узел был образован на базе проекта Дуга Энгельбарта (Doug Engelbart) "Наращивание человеческого интеллекта" в Стэнфордском исследовательском институте (SRI). (Следует отметить, что частью проекта Энгельбарта была ранняя гипертекстовая система NLS.) В SRI организовали Сетевой информационный центр, который возглавила Элизабет Фейнлер (Elizabeth (Jake) Feinler). В функции центра входило поддержание таблиц соответствия между имена и адресами компьютеров, а также обслуживание каталога запросов на комментарии и предложения (Request For Comments, RFC). Через месяц, когда SRI подключили к ARPANET, из лаборатории Клейнрока было послано первое межкомпьютерное сообщение. Двумя следующими узлами ARPANET стали Калифорнийский университет в городе Санта-Барбара (UCSB) и Университет штата Юта. В этих университетах развивались проекты по прикладной визуализации. Глен Галлер (Glen Culler) и Бартон Фрайд (Burton Fried) из UCSB исследовали методы отображения математических функций с использованием дисплеев с памятью, позволяющих справиться с проблемой перерисовки изображения по сети. Роберт Тейлор и Иван Сазерленд в Юте исследовали методы рисования по сети трехмерных сцен. Таким образом, к концу 1969 года четыре компьютера были объединены в первоначальную конфигурацию ARPANET. Взошел первый росток Интернет. Следует отметить, что уже на этой ранней стадии велись исследования как по сетевой инфраструктуре, так и по сетевым приложениям. Данная традиция не нарушена и в наши дни.

В последующие годы число компьютеров, подключенных к ARPANET, быстро росло.

Одновременно велись работы по созданию функционально полного протокола межкомпьютерного взаимодействия и другого сетевого программного обеспечения. В декабре 1970 года Сетевая рабочая группа (Network Working Group, NWG) под руководством С. Крокера завершила работу над первой версией протокола, получившего название Протокол управления сетью (Network Control Protocol, NCP). После того, как в 1971-1972 годах были выполнены работы по реализации NCP на узлах ARPANET, пользователи сети наконец смогли приступить к разработке приложений.

В октябре 1972 года Роберт Кан организовал большую, весьма успешную демонстрацию ARPANET на Международной конференции по компьютерным коммуникациям (International Computer Communication Conference, ICCC). Это был первый показ на публике новой сетевой технологии. Также в 1972 году появилось первое "горячее" приложение — электронная почта. В марте Рэй Томлинсон (Ray Tomlinson) из BBN, движимый необходимостью создания для разработчиков ARPANET простых средств координации, написал базовые программы пересылки и чтения электронных сообщений. В июле Робертс добавил к этим программам возможности выдачи списка сообщений, выборочного чтения, сохранения в файле, пересылки и подготовки ответа. С тех пор более чем на десять лет электронная почта стала крупнейшим сетевым приложением. Для своего времени электронная почта стала тем же, чем в наши дни является Всемирная паутина — исключительно мощным катализатором роста всех видов межперсональных потоков данных.


Первоначальные концепции объединения сетей



ARPANET постепенно должна была перерасти в Интернет. Интернет основывается на идее существования множества независимых сетей почти произвольной архитектуры, начиная от ARPANET — пионерской сети с пакетной коммутацией, к которой вскоре должны были присоединиться пакетные спутниковые сети, наземные пакетные радиосети и т.д. Интернет в современном понимании воплощает ключевой технический принцип открытости сетевой архитектуры. При подобном подходе архитектура и техническая реализация отдельных сетей не навязываются извне; они могут свободно выбираться поставщиком сетевых услуг при сохранении возможности объединения с другими сетями посредством метауровня "Межсетевой архитектуры". Однако в описываемое нами время существовал только один общий метод объединения сетей — традиционная коммутация соединений, когда сети объединяются на канальном уровне, а отдельные биты передаются в синхронном режиме по сквозному соединению между двумя оконечными системами. Напомним, что в 1961 году Клейнрок в своих работах указал на преимущества пакетной коммутации. Эти идеи, в сочетании со специализированными устройствами межсетевой связи, могли стать основой иного подхода. Были и другие частные методы объединения различных сетей, однако они требовали, чтобы одна сеть выступала как часть другой, а не как равноправный партнер по предоставлению сквозных (от одной оконечной системы до другой) сервисов.

Открытая сетевая архитектура подразумевает, что отдельные сети могут проектироваться и разрабатываться независимо, со своими уникальными интерфейсами, предоставляемыми пользователям и/или другим поставщикам сетевых услуг, включая услуги Интернет. При проектировании каждой сети могут быть приняты во внимание специфика окружения и особые требования пользователей. Вообще говоря, не накладывается никаких ограничений на типы объединяемых сетей или их территориальный масштаб, хотя, конечно, прагматические соображения должны сузить спектр возможных решений.

Идея открытой сетевой архитектуры была впервые высказана Каном в 1972 году, вскоре после того, как он начал работать на DARPA. Деятельность, которой занимался Кан, первоначально была частью программы пакетных радиосетей, но впоследствии она переросла в полноправный проект под названием "Internetting". Ключевым для работоспособности пакетных радиосистем был надежный сквозной протокол, способный поддерживать эффективные коммуникации несмотря на радиопомехи или временное затенение, вызванное особенностями местности или пребыванием в туннеле. Сначала Кан предполагал разработать протокол, специфичный для пакетных радиосетей, поскольку это избавило бы от необходимости иметь дело с множеством различных операционных систем и позволило бы продолжать использовать протокол NCP.

Однако NCP не содержал средств для адресации сетей (и машин), расположенных за IMP-устройством в месте назначения, так что некоторые модификации NCP все же были необходимы. (Первоначально предполагалось, что динамические изменения ARPANET невозможны.) В обеспечении сквозной надежности протокол NCP полагался на ARPANET. Если какие-то пакеты терялись, протокол (и, естественно, поддерживаемые им приложения) должны были остановиться. В модели NCP отсутствовало сквозное управление ошибками, поскольку ARPANET должна была являться единственной существующей сетью, причем настолько надежной, что от компьютеров не требовалось умение реагировать на ошибки.

В итоге Кан решил разработать новую версию протокола, удовлетворяющую требованиям окружения с открытой сетевой архитектурой. Этот протокол позднее будет назван Transmission Control Protocol/Internet Protocol (TCP/IP — Протокол управления передачей/Межсетевой протокол). В то время как NCP действовал в духе драйвера устройства, новинка должна была в большей мере напоминать коммуникационный протокол.

В основу своих первоначальных рассуждений Кан положил четыре принципа:

  • Каждая сеть должна сохранять свою индивидуальность. При подключении к Интернет сети не должны подвергаться внутренним переделкам.
  • Коммуникации должны идти по принципу "максимум возможного". Если пакет не прибыл в пункт назначения, источник должен вскоре повторно передать его.
  • Для связывания сетей должны использоваться черные ящики; позднее их назовут шлюзами и маршрутизаторами. Шлюзы не должны хранить информацию об отдельных протекающих через них потоках данных. Они должны оставаться простыми, без сложных средств адаптации и восстановления после разного рода ошибочных ситуаций.
  • На эксплуатационном уровне не должно существовать глобальной системы управления.

Другими ключевыми проблемами, нуждавшимися в решении, были:

  • Алгоритмы, препятствующие разрыву связи из-за потери пакетов и позволяющие источнику повторно передать их.
  • Средства "конвейеризации" потоков данных между компьютерами, позволяющие маршрутизировать множество пакетов на всем пути от отправителя до получателя с точностью до компьютеров, участвующих в процессе передачи, если промежуточные сети дают такую возможность.
  • Функции шлюзов, позволяющие им правильно перенаправлять пакеты. Имеется в виду интерпретация IP-заголовков для маршрутизации, обслуживание интерфейсов, разбиение пакетов на более мелкие, если это необходимо и т.п.
  • Необходимость сквозного контрольного суммирования, пересборки пакетов из фрагментов, выявления повторяющихся пакетов при появлении таковых.
  • Необходимость глобальной адресации.
  • Методы сквозного управления потоками данных.
  • Взаимодействие с различными операционными системами.

Были и другие проблемы, такие как эффективность реализации и производительность объединенной сети, но первоначально их отодвинули на второй план.

Кан начал работать над коммуникационно-ориентированными принципами операционных систем, еще будучи сотрудником BBN. Он зафиксировал некоторые из своих ранних соображений в виде внутреннего меморандума BBN, озаглавленного "Коммуникационные принципы операционных систем" ("Communications Principles for Operating Systems") . Кан понял, что для эффективного встраивания любого нового протокола необходимо изучить детали реализации каждой операционной системы. В результате весной 1973 года, после образования проекта "Internetting", Кан пригласил Винта Серфа (работавшего в то время в Стэнфорде) для совместной работы над детальной спецификацией протокола. Серф активно участвовал в проектировании и реализации NCP, поэтому он уже обладал информацией об интерфейсах с существующими операционными системами. Вооружившись архитектурным подходом Кана к коммуникациям и опытом Серфа, полученным во время работ над NCP, коллеги объединились для уточнения деталей того, что впоследствии станет семейством протоколов TCP/IP.

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

В процессе сотрудничества между Каном и Серфом были сформулированы следующие основополагающие принципы:

  • Общение между двумя процессами логически должно представляться как обмен непрерывными последовательностями байт (октетов в терминологии Кана и Серфа). Для идентификации октета используется его позиция в последовательности.
  • Управление потоком данных осуществляется на основе механизмов скользящих окон и подтверждений. Получатель может выбирать, когда посылать подтверждение, распространяющееся на все полученные к этому моменту пакеты.
  • Вопрос о том, как именно отправитель и получатель договариваются о параметрах окон, оставлен открытым. Первоначально используются подразумеваемые значения.
  • Хотя в то время в Исследовательском центре компании Ксерокс в Пало Альто (Xerox PARC) уже велись работы над сетями Ethernet, массового распространения локальных сетей пока не предвиделось. О персональных компьютерах и рабочих станциях вообще не было речи. Первоначальную модель составляли сети национального уровня, такие как ARPANET; предполагалось, что подобных сетей будет относительно немного. В результате под IP-адрес было отведено 32 бита, из которых первые 8 бит обозначали сеть, а оставшиеся 24 бита — компьютер в сети. Предположение о том, что в обозримом будущем будет достаточно 256 сетей, очевидно, пришлось пересматривать с появлением локальных сетей в конце 1970-х годов.

В первоначальном документе Серфа и Кана по объединению сетей описывался один протокол, названный TCP. Он предоставлял все услуги по транспортировке и перенаправлению данных в Интернет. Кан планировал, что протокол TCP будет поддерживать целый диапазон транспортных сервисов, от абсолютно надежной упорядоченной доставки данных (модель виртуального соединения) до дэйтаграммного сервиса, когда приложение напрямую взаимодействует с нижележащим сетевым уровнем, что может привести к случайным потерям, повреждению или дублированию пакетов.

Однако первые попытки реализовать TCP породили версию, поддерживающую только виртуальные соединения. Такая модель отлично работала для приложений типа пересылки файлов или удаленного входа в систему, но ряд ранних исследований продвинутых сетевых приложений, в частности, пакетной передачи голоса (1970-е годы), показали, что в некоторых случаях потерю пакетов не следует исправлять на уровне TCP — пусть приложение само разбирается с ними. Это привело к реорганизации первоначального варианта TCP и разделению его на два протокола — простой IP, обслуживающий только адресацию и перенаправление отдельных пакетов, и отдельный TCP, имеющий дело с такими аспектами, как управление потоком данных и нейтрализация потери пакетов. Для приложений, не нуждавшихся в услугах TCP, была добавлена альтернатива — Пользовательский дэйтаграммный протокол (User Datagram Protocol, UDP), открывающий прямой доступ к базовым сервисам уровня IP.

Первоначально основным стимулом к созданию как ARPANET, так и Интернет было совместное использование ресурсов, позволяющее, например, пользователям пакетных радиосетей осуществлять доступ к системам с разделением времени, подключенным к ARPANET. Объединять сети было гораздо практичнее, чем увеличивать число очень дорогих компьютеров. Тем не менее, хотя пересылка файлов и удаленный вход (Telnet) были очень важными приложениями, наибольшее влияние из инноваций того времени оказала, безусловно, электронная почта. Она породила новую модель межперсонального взаимодействия и изменила природу сотрудничества, сначала в рамках собственно построения Интернет (об этом речь впереди) и, позднее, в пределах большей части общества.

На заре Интернет предлагались и другие приложения, включая основанные на пакетах голосовые коммуникации (предшественники Интернет-телефонии), различные модели разделения файлов и дисков, а также ранние программы-черви, иллюстрирующие концепцию агентов (и, конечно, вирусов). Ключевая концепция создания Интернет состояла в том, что объединение сетей проектировалось не для какого-то одного приложения, но как универсальная инфраструктура, над которой могут быть надстроены новые приложения. Последующее распространение Всемирной паутины стало превосходной иллюстрацией универсальной природы сервисов, предоставляемых TCP и IP.


I
Введение
Истоки Интернет
Первоначальные концепции объединения сетей


II
• Проверка идей
• Переход к широко распростра- ненной инфраструктуре
• Роль документации
подробнее.


III
• Формирование широкой обще- ственности
• Коммерциализация технологии
• История будущего
подробнее.


IV
• Об авторах
• Литература
подробнее.


Сайт управляется системой uCoz