История возникновения Интернет
Голубев Сергей, Ученик 8С класса Нарвской Гуманитарной гимназии
В начале ARPA сотворила ARPANET.
И была ARPANET безвидна и пуста.
И дух ARPA носился над сетью.
И сказала ARPA:-«Да будет протокол!» И стал протокол. И увидела ARPA, что это хорошо.
Введение
Революционизирующее влияние Интернета на мир компьютеров и коммуникаций не имеет исторических аналогов. Изобретение телеграфа, телефона, радио и компьютера подготовило почву для происходящей ныне беспрецедентной интеграции.
Интернет одновременно является и средством общемирового вещания, и механизмом распространения информации, и средой для сотрудничества и общения людей, охватывающей весь земной шар.
Интернет представляет собой один из наиболее успешных примеров того, какую пользу могут принести долгосрочные вложения, поддержка исследований и разработки информационной инфраструктуры. Начиная с ранних исследований в области пакетной коммутации, американское правительство, промышленность и академическая наука оставались партнерами в развитии и развертывании этой новой изумительной технологии. В наши дни словосочетания вроде "[email protected]" и "www.w3.org" легко слетают с языка первого встречного.
Сейчас об Интернете, в том числе об истории, технологии и использовании этой всемирной Сети, написано очень много. Почти в любом книжном магазине можно найти целые полки, заставленные трудами по этой тематике.
История вращается вокруг четырех различных аспектов.
На первое место следует поставить технологическую эволюцию, которая началась с ранних исследований по пакетной коммутации, сети ARPANET и по смежным вопросам. Современные исследования продолжают расширять инфраструктурные горизонты сразу по нескольким направлениям, включая масштабирование, повышение эффективности и высокоуровневую функциональность.
Вторым аспектом является эксплуатация и управление глобальной, сложной инфраструктурой.
Третьим можно назвать социальный аспект, приведший к образованию широкого сообщества "интернетчиков", совместно работающих над созданием и развитием технологии.
Наконец, присутствует и аспект коммерциализации, проявляющийся в чрезвычайно эффективном превращении результатов исследований в повсеместно развернутую, широко доступную информационную инфраструктуру, каковой в наши дни является Интернет.
Первоначальный прототип Интернета часто называют Национальной (а также Глобальной, или Галактической) Информационной Инфраструктурой. История Интернета сложна, она включает в себя много сторон, а говоря обобщенно, - технологический, организационный и социальный аспекты.
Влияние Интернета распространяется не только на технологическую область компьютерных коммуникаций; оно пронизывает все общество по мере того, как все более широкое распространение получают оперативные средства электронной коммерции, получения знаний и совершения общественных действий.
Истоки Интернет
Первым документальным описанием социального взаимодействия, которое станет возможным благодаря Сети, была серия заметок, написанных Дж. Ликлайдером (J.C.R. Licklider) из Массачусетского технологического института (MIT) в августе 1962 года. В этих заметках обсуждалась концепция "Галактической сети" (Galactic Network). Автор предвидел создание глобальной сети взаимосвязанных компьютеров, с помощью которой каждый сможет быстро получать доступ к данным и программам, расположенным на любом компьютере. По духу эта концепция очень близка к современному состоянию Интернета. После второй мировой войны, продемонстрировав друг другу и остальному миру наличие ядерного и водородного оружия, Советский Союз и США начали разработку ракетных носителей для доставки этого оружия. Уже в 1947 году США ввели по отношению к Советскому Союзу санкции, ограничивающие экспорт стратегических товаров и технологий. Эти ограничения были окончательно сформулированы и оформлены в 1950 году созданным координационным комитетом по многостороннему стратегическому экспортному контролю - КОКОМ. Соперничество двух ведущих держав мира стало захватывать сферу науки и технологий.
4 октября 1957 года Советский Союз запустил первый искусственный спутник Земли, что показало отставание США. Запуск первого искусственного спутника и послужил причиной подписания президентом США Дуайтом Эйзенхауэром документа о создании в рамках министерства обороны Агентства по перспективным научным проектам и исследованиям – DARPA (Defence Advanced Research Projects Agency). В октябре 1962 года Ликлайдер стал первым руководителем исследовательского этого компьютерного проекта. Управление Advanced Research Projects Agency (ARPA) сменило название на Defence Advanced Research Projects Agency (DARPA) в 1971 году, затем вернулось к прежнему названию ARPA в 1993 году и, наконец, снова стало именоваться DARPA в 1996 году. В статье используется текущее название – 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 Кб/с. Публикации RAND стали причиной возникновения ложных слухов о том, что проект ARPANET как-то связан с построением сети, способной противостоять ядерным ударам. Создание ARPANET никогда не преследовало такой цели. Только в исследовании RAND по надежным голосовым коммуникациям, не имевшем прямого отношения к компьютерным сетям, рассматривались условия ядерной войны. Однако в более поздних работах по Интернет-тематике действительно делался акцент на устойчивости и живучести, включая способность продолжать функционирование после потери значительной части сетевой инфраструктуры.
В августе 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) готовила систему измерения характеристик сети. Другими активными участниками проекта были Винт Серф, Стив Крокер (Steve Crocker) и Джон Постел (John Postel). Позднее к ним присоединились Дэвид Крокер (David Crocker), которому суждено было сыграть важную роль в документировании протоколов электронной почты, и Роберт Брейден (Robert Braden), выполнивший первые реализации протоколов NCP и TCP для мейнфреймов IBM и внесший впоследствии существенный вклад в работу групп ICCB (Internet Configuration Control Board - Совет по конфигурационному управлению Интернетом) и IAB (Internet Architecture [ранее - Activities] Board, Совет по архитектуре Интернета).
Благодаря тому, что Клейнрок уже в течение нескольких лет был известен как автор теории пакетной коммутации и как специалист по анализу, проектированию и измерениям, его Сетевой измерительный центр в UCLA был выбран в качестве первого узла ARPANET. Тогда же, в сентябре 1969 года, компания BBN установила в Калифорнийском университете первый Интерфейсный процессор сообщений и подключила к нему первый компьютер. Второй узел был образован на базе проекта Дуга Энгельбарта (Doug Engelbart) "Наращивание человеческого интеллекта" в Стэнфордском исследовательском институте (SRI). (Следует отметить, что частью проекта Энгельбарта была ранняя гипертекстовая система NLS.)
В SRI организовали Сетевой информационный центр, который возглавила Элизабет Фейнлер (Elizabeth [Jake] Feinler). В функции центра входило поддержание таблиц соответствия между именами и адресами компьютеров, а также обслуживание каталога запросов на комментарии и предложения (Request For Comments, RFC). Через месяц, когда SRI подключили к ARPANET, из лаборатории Клейнрока было послано первое межкомпьютерное сообщение. Двумя следующими узлами ARPANET стали Калифорнийский университет в городе Санта-Барбара (UCSB) и Университет штата Юта. В этих университетах развивались проекты по прикладной визуализации. Глен Галлер (Glen Guller) и Бартон Фрайд (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.
История создания протокола TCP/IP:
1970, узлы ARPANet начали работу с использованием протокола Network Control Protocol (NCT)
1972, выпущена первая спецификация по протоколу Telnet, “Ad hoc Telnet Protocol”, описанная в документе RFC 318
1973, появился документ RFC 454, описывающий File Transfer Protocol
1974, опубликованы подробности Transmission Control Program (TCP)
1981, опубликован документ RFC 791, посвящённый стандарту IP
1982, Агентство военных коммуникаций (Defense Communications Agency, DCA) и ARPA объединили протоколы Transmission Control Protocol (TCP) и Internet Protocol (IP) в единый набор TCP/IP
1983, ARPANet перешла с протокола NCT на работу с TCP/IP
1984, основана система серверов имён Domain Name System (DNS)
Хронология возникновения TCP/IP в истории Интернета
Проверка идей
DARPA заключило три контракта на реализацию TCP/IP - со Стэнфордом (Серф), с BBN (Рэй Томлинсон) и с Университетским колледжем Лондона (UCL, Петер Кирстен - Peter Kirstein). (В статье Серфа и Кана использовалось название TCP, за которым скрывались оба протокола.) Стэнфордская команда, возглавляемая Серфом, подготовила детальные спецификации, после чего примерно за год были выполнены три реализации TCP, способные взаимодействовать друг с другом.
Начался долгий период экспериментов и разработок, направленных на развитие и шлифовку концепций и технологий Интернета. Отправляясь от первых трех сетей (ARPANET, Packet Radio, Packet Satellite) и образовавшихся вокруг них коллективов исследователей, экспериментальное окружение росло, вбирая в себя, по существу, все виды сетей и очень широкое сообщество исследователей и разработчиков. Каждое расширение ставило новые задачи.
Ранние реализации TCP были выполнены для больших систем с разделением времени, таких как Tenex и TOPS 20. Когда начали появляться настольные системы, многие посчитали, что для персональных компьютеров TCP - слишком большой и сложный протокол. Дэвид Кларк и его исследовательская группа из MIT решили доказать возможность компактной и простой реализации TCP, выполнив ее сначала для Xerox Alto (ранняя персональная рабочая станция, созданная в Xerox PARC), а затем для IBM PC. Эта реализация обладала полной интероперабельностью с другими воплощениями TCP, но была специально настроена на набор приложений и параметры производительности персональных компьютеров. Таким образом, удалось продемонстрировать, что рабочие станции могут войти в Интернет наряду с большими системами с разделением времени. В 1976 году Клейнрок опубликовал первую книгу по ARPANET. В ней он обращал особое внимание на сложность протоколов и связанные с этим опасности. Книга способствовала распространению идей пакетной коммутации среди очень широкого сообщества.
Большое распространение в 1980-е годы локальных сетей, персональных компьютеров и рабочих станций дало толчок бурному росту Интернета. Технология Ethernet, разработанная в 1973 году Бобом Меткалфом (Bob Metcalfe) из Xerox PARC, в наши дни является, вероятно, доминирующей сетевой технологией в Интернете, а ПК и рабочие станции стали доминирующими компьютерами. Переход от небольшого количества сетей с умеренным числом систем с разделением времени (первоначальная модель ARPANET) к множеству сетей привел к выработке ряда новых концепций и внесению изменений в базовые технологии.
Прежде всего, были определены три класса сетей (A, B и C), чтобы учесть разные масштабы конфигураций. В класс A входят большие сети общенационального масштаба (малое количество сетей с большим числом компьютеров). Класс B предназначен для сетей регионального масштаба, класс C - для локальных сетей (большое количество сетей с относительно малым числом компьютеров).
Рост Интернета вызвал важные изменения и в подходе к вопросам управления.
Чтобы сделать сеть более дружественной, компьютерам были присвоены имена, делающие ненужным запоминание числовых адресов. Первоначально, при небольшом количестве компьютеров, было разумно иметь единую таблицу с их именами и адресами. Переход к большому числу независимо администрируемых сетей (таких, как ЛВС) сделал идею единой таблицы непригодной. Пол Мокапетрис (Paul Mockapetris) из Института информатики Университета Южной Калифорнии (USC/ISI) придумал доменную систему имен (Domain Name System, DNS). DNS позволила создать масштабируемый распределенный механизм для отображения иерархических имен компьютеров (например www.acm.org) в Интернет-адресах.
С ростом Интернета пришлось пересмотреть и характер функционирования маршрутизаторов. Первоначально существовал единый распределенный алгоритм маршрутизации, единообразно реализуемый всеми маршрутизаторами в Интернете. В условиях быстрого увеличения числа сетей стало невозможно расширять этот ранний подход в нужном темпе. Его пришлось заменить иерархической моделью маршрутизации с Внутренним шлюзовым протоколом (Interior Gateway Protocol, IGP), используемым внутри каждой области Интернета, и Внешним шлюзовым протоколом (Exterior Gateway Protocol, EGP), применяемым для связывания областей между собой.
Подобная архитектура позволила иметь в разных областях разные варианты IGP, учитывающие специфику требований к стоимости, скорости реконфигурации, устойчивости и масштабируемости. Кроме алгоритма, тяжелым испытанием стал рост таблиц маршрутизации. Недавно были предложены новые подходы к агрегированию адресов (в частности, бесклассовая междоменная маршрутизация, CIDR), позволяющие уменьшить размер этих таблиц.
Еще одной проблемой, вызванной ростом Интернета, стало внесение изменений в программное обеспечение, особенно в ПО хостов. DARPA поддержало исследования Университета Беркли (Калифорния) по модификации операционной системы Unix, включая встраивание реализации TCP/IP, выполненной в компании BBN. Хотя позднее в Беркли переписали программы, полученные от BBN, чтобы более эффективно объединить их с Unix-системой в целом и ядром ОС в особенности, встраивание TCP/IP в Unix BSD оказалось критически важным для распространения протоколов среди исследовательского сообщества. Дело в том, что большая часть специалистов в области информатики в то время начала использовать Unix BSD в своей повседневной практике. Оглядываясь назад, можно прийти к заключению, что стратегия встраивания протоколов Интернета в операционную систему, поддерживаемую исследовательским сообществом, явилась одним из ключевых элементов успешного и повсеместного распространения Интернета.
Одной из самых интересных задач был перевод ARPANET с протокола NCP на TCP/IP, состоявшийся 1 января 1983 года. Это был переход в стиле "дня X", требующий одновременных изменений на всех компьютерах. (На долю опоздавших оставались коммуникации, действовавшие с помощью специализированных средств.) Переход тщательно планировался всеми заинтересованными сторонами в течение нескольких предшествующих лет и прошел на удивление гладко (но привел к распространению значка "Я пережил переход на TCP/IP").
Протокол TCP/IP был принят в качестве военного стандарта тремя годами раньше, в 1980 году. Это позволило военным начать использование технологической базы Интернета и, в конце концов, привело к разделению на военное и гражданское Интернет-сообщества. К 1983 году ARPANET использовало значительное число военных исследовательских, разрабатывающих и эксплуатирующих организаций. Перевод ARPANET с NCP на TCP/IP позволил разделить эту сеть на MILNET, обслуживавшую оперативные нужды, и ARPANET, использовавшуюся в исследовательских целях.
Таким образом, к 1985 году технологии Интернета поддерживались широкими кругами исследователей и разработчиков. Интернет начинали использовать для повседневных компьютерных коммуникаций люди самых разных категорий. Особую популярность завоевала электронная почта, работавшая на разных платформах. Совместимость различных почтовых систем продемонстрировала выгоды массовых электронных коммуникаций между людьми.
2 ноября 1988 года выпускник Корнельского университета Роберт Таппан Моррис запустил в сети свою программу, которая из-за ошибки начала бесконтрольное распространение и многократное инфицирование узлов сети. В результате было инфицировано около 6200 машин, что составило 7,3 % общей численности машин в сети.
Д. Червь Морриса был одним из первых вирусов, подсчитанные потери, хотя формально червь не наносил какою-либо ущерба данным в инфицированных ЭВМ, были оценены на сумму в 98 253 260 долларов, и мировое сообщество всерьез озаботилась проблемой компьютерных вирусов.
Переход к широко распространенной инфраструктуре
Параллельно с экспериментальной проверкой Интернет-технологий и их интенсивным использованием частью специалистов по информатике разрабатывались и развивались другие сети и сетевые технологии. Практические достоинства компьютерных сетей и особенно электронной почты, продемонстрированные на примере ARPANet, DARPA, и организациями, имевшими контракты с министерством обороны США, были замечены специалистами из других кругов и предметных областей. К середине 1970-х годов компьютерные сети начали расти, как грибы после дождя, - везде, где для этой цели удавалось найти финансирование. Министерство энергетики США сначала создало сеть MFENet в интересах исследователей термоядерного синтеза с магнитным удержанием, затем специалисты в области физики высоких энергий получили сеть HEPNet. Для астрофизиков из NASA построили сеть SPAN, а Рик Эдрион (Rick Adrion), Дэвид Фарбер (David Farber) и Лэрри Лэндвебер (Larry Landweber), получив первоначальные субсидии от Национального научного фонда (NSF) США, развернули сеть CSNet, объединившую специалистов по информатике из академических и промышленных кругов. Свободное распространение компанией AT&T, являвшейся в те далёкие времена монополистом на телефонных коммуникациях, операционной системы UNIX породило сеть USENet - самую большую в мире систему электронных досок объявлений, содержащую сообщения электронной почты и статьи, организованные в группы новостей, объединяя людей по интересам - основанную на встроенном в UNIX коммуникационном протоколе UUCP. В 1981 году Ира Фукс (Ira Fuchs) и Грейдон Фримэн (Greydon Freeman) придумали BITNet - сеть, связавшую академические мейнфреймы сервисами почтовой рассылки.
За исключением BITNet и USENet, ранние сети (в том числе ARPANet) строились целенаправленно. Они должны были использоваться замкнутым сообществом специалистов; как правило, этим работа сетей и ограничивалась. Особой потребности в совместимости сетей не было; соответственно, не было и самой совместимости. Кроме того, в коммерческом секторе начали появляться альтернативные технологии, такие как XNS от компании Xerox, DECNet, а также SNA от IBM. Потребность в обмене электронной почтой привела, тем не менее, к появлению одной из первых Интернет-книг - "!%@:: A Directory of Electronic Mail Addressing and Networks", которую написали Фрей (Frey) и Адамс (Adams). Эта книга посвящена трансляции почтовых адресов и перенаправлению сообщений. Только в программах JANet (Великобритания, 1984) и NSFNet (США, 1985) было явно провозглашено намерение обслуживать всех причастных к системе высшего образования, независимо от специализации. В самом деле, чтобы американский университет мог получить от NSF средства на подключение к Интернету, он, как было записано в программе NSFNet, "должен обеспечить доступность этого подключения для ВСЕХ подготовленных пользователей в университетском городке".
В 1985 году из Ирландии, для годичного руководства программой NSFNet, был приглашен Дэннис Дженнингс (Dennis Jennings). Он активно способствовал принятию принципиально важного решения об обязательном использовании в NSFNet протокола TCP/IP. Стив Вулф, принявший руководство NSFNet в 1986 году, поставил задачу формирования глобальной сетевой инфраструктуры для обслуживания широких академиче