История Интернета в свете искусства техники, часть 1

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

1966 год ознаменовался тем, что Роберт Тейлор возглавлял Office of Information Processing Techniques в рамках Агентства по передовым исследовательским проектам (ARPA). Это агентство было создано в 1958 году президентом Эйзенхауэром после запуска спутника, став стратегическим местом с аббревиатурами ARPA и IPTO. Рабочий кабинет Тейлора находился в Пентагоне, где размещались три больших терминала, занимающих всю площадь комнаты, смежной с его офисом. Каждый терминал был подключен к отдельному мейнфрейму, каждый из которых имел свои уникальные процедуры работы, вызывая раздражение при попытке вспомнить различные методы входа в систему и доступа к информации.

Раньше компьютеры были настолько большими, что занимали целые комнаты, и люди взаимодействовали с ними через телетайпные терминалы, которые по сути являлись электрическими пишущими машинками, соединёнными через последовательные кабели, модемы или телефонные линии. Агентство перспективных исследовательских проектов (ARPA) поддерживало множество научных проектов по всей США, однако пользователи этих разных систем не могли обмениваться ресурсами из-за их изоляции. Разве это не замечательно представить сеть, которая связывает все эти компьютеры вместе?

Мечте дано воплощение.

В 1963 году циркулировало служебное письмо Джозефа «JCRL» Ликлидера, который предшествовал Тейлору, с юмористическим изложением концепции под названием «Межгалактическая компьютерная сеть». Эта сеть должна была позволять пользователям различных компьютеров сотрудничать и обмениваться информацией. Идея изначально была весьма дальновидной, но Ликлидер не смог реализовать её в виде проекта. Тем не менее, Тейлор осознал возможность воплотить эту идею в жизнь.

В интервью 1998 года Тейлор описал уникальный процесс финансирования ARPA: ‘В отличие от большинства государственных грантов, здесь не было комитетов, диктующих, кто получает финансирование и какие проекты должны быть реализованы. Вместо этого человек, ответственный за офис, занимающийся конкретной технологией — в моем случае это были компьютерные технологии — имел право принимать решения о финансировании, действиях и даже отказе от финансирования. Решение об инициировании ARPANET принадлежало мне с минимальными бюрократическими препятствиями.’

Тэйлор уверенно вошел в кабинет Чарльза Херцфельда. Он представил идею создания сетевой системы, которая позволит различным учреждениям объединить ресурсы, тем самым сэкономив ARPA время и деньги в долгосрочной перспективе. Его предложение состояло в том, чтобы начать этот проект с небольшой сети из четырех компьютеров как демонстрационного или пилотного проекта.

«Будет ли это сложно сделать?» — спросил Херцфельд.

«О нет, мы уже знаем как это сделать», — ответил Тейлор.

Херцфельд одобряюще сказал. «Давайте сделаем это», — произнес он. «У вас есть дополнительный миллион долларов, используйте его для начала работы прямо сейчас.»

Тейлор не лгал прямо; он был не совсем неправдив. В то время множество людей по всему миру задумывались о концепциях компьютерной сети. Конкретно, Пол Баран, работая в RAHD, написал статью в 1964 году, детально описывающую, как устойчивая распределенная военная сеть могла бы продолжать функционировать даже при повреждении некоторых узлов ядерной атакой. Одновременно и независимо в Великобритании Дональд Дэвис разработал похожую концепцию (исключая ядерный аспект) и ввел термин ‘пакетная коммутация’ для описания способа передачи данных через эти сети.

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

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

В 1966 году Тейлор привлёк Ларри Робертса в качестве директора программы. На салфетке Робертс нарисовал концептуальную схему потенциальной сети и представил её своей команде, предложив дизайн. Однако возникла проблема: каждый компьютер в сети должен был бы потратить значительную часть своих возможностей на обработку пакетов. Во время встречи Уэс Кларк передал Роберту записку со словами: ‘Вы неправильно поняли сеть.’ Кларк предложил иной подход, предусматривающий отправку множества небольших компьютеров для связи с каждым хостом. Эти машины, специально предназначенные для выполнения этой задачи, будут ответственны за создание, передачу и сборку пакетов.

После завершения разработки Робертс сделал запрос на получение предложений по строительству ARPANET. Следующим шагом было выбрать лучшее предложение, и после этого проект будет готов к реализации.

BB&N и ИНП

Первоначально предложение поступило компаниям IBM, Control Data Corporation и AT&T. Однако все они отказались от него по схожим причинам. Крупные корпорации считали, что предлагаемая сеть не могла быть построена. IBM и CDC полагали, что специализированные компьютеры окажутся слишком дорогими, тогда как AT&T утверждала несовместимость пакетной коммутации с её телефонной сетью.

К концу 1968 года ARPA выбрало Bolt Beranek and Newman (BB&N) как победителя тендера. Этот выбор казался необычным, учитывая происхождение BB&N как консалтинговой фирмы по акустике для театров. Тем не менее, их вычислительное подразделение возникло из-за потребности в расчетах, а первым руководителем стал J.C.R. Ликленд — выдающаяся фигура в этой области. Интересно отметить, что некоторые сотрудники BB&N уже разрабатывали проект построения сети до того, как был объявлен ARPA bid. Роберт Каан возглавлял команду, ответственную за составление предложения от BB&N.

Как энтузиаст, могу поделиться тем, что моя цель состояла в создании системы ‘Interface Message Processors’, или IMP, с использованием компьютеров Honeywell DDP-516. Они были адаптированными версиями 16-битных миникомпьютеров DDP-516. Каждое устройство обладало 24 килобайтами оперативной памяти и имело только считыватель перфоленты для хранения данных, каждый из них стоил $80,000 (примерно $700,000 в современных ценах). Для сравнения: цена IBM 360 mainframe варьировалась от $7 миллионов до $12 миллионов в ту эпоху.

BB&N оценили прочную конструкцию модели 516 из-за отсутствия интереса к изменению ее IMP студентами колледжа. Компьютер поставлялся без операционной системы и имел недостаточно оперативной памяти для нее. Программное обеспечение для управления IMP было закодировано непосредственно в аппаратное обеспечение с использованием ассемблерного языка 516. Одним из разработчиков был Уилл Краутер, который позже создал первую компьютерную приключенческую игру.

Перед тем как IMP могли быть использованы, встала еще одна проблема: в конструкции Honeywell отсутствовали некоторые ключевые элементы для управления входом и выходом. Члены команды BB&N были разочарованы, обнаружив, что первая модель 516, которую они назвали IMP-0, не включала функциональных дополнений к аппаратному обеспечению, которые они предложили.

Это была задача Бена Баркера, выдающегося студента-интерна в BB&N, вручную разобраться с проблемами машины. Несмотря на легкое дрожание рук, Баркер оказался идеальным кандидатом для этой задачи. После многочисленных рабочих дней длительностью 16 часов по переподключению и отключению проводов, все модификации были завершены и работали корректно. Теперь IMP-0 был готов.

Между тем я оказался в Университете Калифорнии, Лос-Анджелес, наблюдая за Стивом Крокером, который погрузился в создание проекта программного обеспечения для хост-компьютеров. Было крайне важно, чтобы IMPs превосходили в передаче и приеме сообщений, однако если бы компьютеры не умели обрабатывать эти сообщения, все усилия оказались бы напрасными.

B связи с тем что хост-компьютеры были жизненно важны для академических исследований, Крокер не хотел выглядеть диктатором, диктующим порядок использования машин исследователями. Вместо этого он назвал свою работу «Запросом на комментарии», или RFC, что предполагало открытый диалог и совместную активность.

Один простой акт вежливости значительно изменил ландшафт компьютерных технологий, и каждое последующее изменение предлагалось в формате RFC (Запрос на комментарии). Этот подход сотрудничества, характеризующийся поиском обратной связи, продолжает доминировать в технологическом секторе даже в наше время.

Изначально RFC No. 1 предлагал два типа программного обеспечения для хостов. Первый был простейшим интерфейсом, где компьютер действовал как базовый терминал. Мы называем это ‘эмулятором терминала’, и если вам доводилось администрировать сервер, скорее всего вы сталкивались с этим на практике. Второй вариант представлял собой более сложный протокол, предназначенный для передачи больших файлов. Со временем он развился в FTP (протокол передачи файлов), систему, которая используется до сих пор.

В сентябре 1969 года наличие всего одного процессора сообщений интерфейса (IMP), подключенного к одному компьютеру, не считалось сетью. Поэтому доставка IMP-1 в BB&N и последующий воздушный транспорт в UCLA были поистине волнующими событиями. Это стало началом ARPANET – первого теста сети, который проводился с одновременной телефонной поддержкой. Целью было набрать «LOGIN» для начала процедуры входа в систему. Вот как выглядела эта беседа: ↩️

Получили Л?

Я взял Л!

Получили ли вы О?

Я получил О!

Ты получил G?

О нет, компьютер сломался!

С моей точки зрения это казалось неудачным началом. Устройство на другом конце любезно автоматически заполнило часть «GIN» в «LOGIN», но система неожиданно зависла из-за одновременного получения трех символов. В тот день автозаполнение впервые оказалось помехой, а не помощью. К счастью, проблема была устранена, и тест завершился успешно.

Эти инновации — IMP-2, IMP-3 и IMP-4 — были отправлены в Стэнфордский исследовательский институт, Калифорнийский университет в Санта-Барбаре и Университет Юты; места, где Дуг Энгельбарт был сильно заинтересован в расширении своей концепции связывания взаимодействий людей.

С полностью развернутой экспериментальной сетью из четырех узлов команда BB&N была готова сотрудничать с исследователями на каждом узле для проведения стресс-теста ARPANET. Они намеренно инициировали первую в истории атаку отказа в обслуживании (DoS) в январе 1970 года, перегружая сеть пакетами данных до полной ее остановки.

Интересно отметить, что многие администраторы из первых узлов ARPANET вначале проявляли нежелание подключаться к сети. Они были скептически настроены в отношении предоставления доступа другим пользователям к ресурсам ‘их’ компьютеров. Однако Тейлор указал на то, что так как их аппаратные и программные проекты преимущественно финансировались ARPA, они не имели возможности отказаться от участия.

В течение следующего месяца трио — Стивен Карр, Стивен Крокер и Винт Серф — опубликовали RFC No. 33. В этом документе был описан Протокол управления сетью (Network Control Protocol — NCP), который определил общий метод коммуникации между хостами. После принятия этого протокола сеть начала эффективно функционировать.

В последующие годы ARPANET значительно выросла и достигла значимых вех, включая первую в истории электронную переписку между двумя разными компьютерами, инициированную Роем Томлинсоном в июле 1972 года. Также произошло поразительное представление, когда PDP-10 из Гарварда в реальном времени смоделировал посадку самолёта на авианосец. Данные были переданы по ARPANET к графическому терминалу MIT, а графическое изображение было возвращено обратно к PDP-1 в Гарварде и отображено на экране. Хотя это был примитивный и медленный процесс, он стал первой демонстрацией живого потокового вещания для игр.

В октябре 1972 года на Международной конференции по компьютерным коммуникациям произошла значимая веха: впервые публичная аудитория увидела функционирование этой сети — ARPANET. Интерес к ней был осязаем, и люди искренне удивлялись увиденному. Группа руководителей AT&T посмеивалась над кратким сбоем, будучи убеждена в неэффективности коммутации пакетов. Тем не менее, демонстрация в целом оказалась триумфально успешной. В октябре 1972 года на Международной конференции по компьютерным коммуникациям люди впервые увидели ARPANET. Многие были любопытны и заинтересованы. Группа руководителей AT&T смеялась, когда заметила короткий сбой, считая, что пакетная коммутация не будет работать эффективно. Однако демонстрация прошла в основном успешно.

Но ARPANET больше не была единственной сетью.

Сеть сетей

Мировая сцена не стояла на месте. В то же время в Гавайях Норман Абрамсон и Франклин Куо разработали ALOHAnet — систему, которая соединяла компьютеры островов через радио. Это стало первой публичной демонстрацией беспроводной сети пакетной коммутации. С другой стороны, команда Дональда Дэвиса в Великобритании создала сеть National Physical Laboratory (NPL). Возникла идея межсоединения этих сетей, однако все они использовали разные протоколы, структуры пакетов и скорости передачи данных. В 1972 году лидеры различных национальных проектов по созданию сетей основали Международную рабочую группу по сетевому взаимодействию. Серф был назначен её руководителем.

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

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

B связи с тем, что не все сети могут гарантировать надежность, когда один компьютер успешно получал целое сообщение, он подтверждал получение отправкой подтверждения (ACK) отправителю. Если подтверждение не было получено в течение определенного времени, сообщение пересылалось повторно.

В декабре 1974 года Серф, Далал и Саншайн разработали всеобъемлющий план для Протокола управления передачей (TCP). Два года спустя Серф, Канн и группа из примерно дюжины других продемонстрировали первую систему связанных между собой сетей. Эта демонстрация соединила пакетные радиостанции, ARPANET и SATNET с использованием TCP. Позже Серф, Постел и Коэн предложили существенную корректировку: разделение всех маршрутизационных данных и включение их в новый протокол, названный Интернет-протоколом (IP). Все другие функции, такие как фрагментация и сборка сообщений, обнаружение ошибок и повторная передача, продолжали находиться в рамках TCP. В результате, в 1978 году этот протокол был официально признан и сейчас известен повсеместно как TCP/IP.

Если бы рассказ о зарождении интернета был фильмом, то дебют протокола передачи данных по сети (TCP/IP) означал бы кульминационный финал этой истории. Но в реальности всё было сложнее: мир переживал значительные изменения, и путь вперед оставался неясным до лучшего.

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

Компьютеры показали значительные успехи к концу 1970-х годов, прокладывая путь для меньших и более доступных моделей, которые стали появляться в домашних хозяйствах. Появление микропроцессоров стало переходом от неуклюжих печатных машинок к современным телевизионным терминалам. В 1979 году был запущен первый коммерческий онлайн-сервис CompuServe, предлагающий людям возможность подключения к частной сети за $5 в час, доступ к погодным и финансовым отчетам, а также участие в обсуждениях с другими пользователями. Эти сервисы изначально работали независимо от интернета, но быстро расширились. К 1987 году CompuServe насчитывала свыше 380 тысяч подписчиков.

В начале 80-х не было уверенности, что TCP/IP получит широкое распространение. Напротив, команда по Open Systems Interconnection (OSI), работающая в Международной организации по стандартизации (ISO), полагала, что мир требовал дополнительных аббревиатур и новой стандартизированной глобальной сетевой структуры.

Первоначальный план для модели OSI был набросан в 1980 году, но официально она была выпущена только в 1984 году. Несмотря на задержку, различные европейские правительства и даже министерство обороны США уже готовились перейти от TCP/IP к OSI. Казалось, что этот новый стандарт станет неизбежным.

Когда OSI разрабатывалась, Интернет уже процветал и стремительно развивался. В 1981 году вышла четвертая версия интернет-протокола (IP), IPv4. 1 января 1983 года ARPANET официально перешел на использование TCP/IP, что считается знаменательным событием, часто именуемым ‘днем рождения Интернета’. Для пользователей сеть продолжала функционировать примерно так же долгое время.

В 1986 году NFSNET начал работу, работая по протоколу TCP/IP и соединившись с большой сетью Интернета. Он представил систему доменных имен (DNS), которая работает и сегодня, позволяя легко запоминаемым именам направлять на IP-адрес конкретной машины. Компьютерам были назначены «верхнеуровневые» домены в зависимости от их предполагаемого использования: например, можно было обращаться к адресу ‘frodo.edu’ в образовательном учреждении или к ‘frodo.gov’ в государственном.

NFSNET быстро расширялась, превзойдя ARPANET по размеру. К 1989 году первоначальная сеть ARPANET была закрыта. Устарелые IMP были постепенно выведены из эксплуатации. Замечательно, что все серверы ARPANET без проблем перешли на другие интернет-сети. В сущности, хотя каждая часть ARPANET была заменена, она продолжала существовать в духе, подобно кораблю Тесея.

Несмотря на прогнозы экспертов и комментаторов, создатели Интернета оставались не убеждены в необходимости перехода всех систем к модели OSI. В 1987 году, при написании RFC No. 1000, Крокер высказал мнение, что если бы они спрашивали совета у древних мистиков, то сразу же увидели бы необходимость семи уровней.

Первоначальные создатели Интернета полагали, что потратили годы на совершенствование функциональной системы. Однако возникла модель Открытой Системы Взаимодействия (OSI), предлагающая сложные правила, которым все должны были следовать и реализовывать их новый дизайн. Винт Серф, напротив, придерживался более практичного подхода. В 1982 году он покинул ARPA, перейдя в MCI, где сыграл значительную роль в разработке первой коммерческой системы электронной почты (MCIMail), подключенной к Интернету. Во время работы в MCI он обратился к исследователям из IBM, Digital и Hewlett-Packard, успешно убедив их протестировать TCP/IP. Тем не менее, руководство этих компаний все еще публично поддерживало OSI.

На протяжении второй половины 1980-х годов и начала 1990-х годов напряженные дискуссии между OSI и TCP/IP продолжались без остановки. Устав от постоянных споров, Серф обратился к руководителю Национального института стандартов и технологий (NIST) с просьбой подготовить всеобъемлющий отчет о сравнении этих двух протоколов. Одновременно с этим Совет по консультациям Интернета (IAB), заинтересованный в потенциальном вдохновении от бессвязного сетевого протокола OSI и его системы адресации на 128 бит, изучал эти вопросы во время мозгового штурма преемника IPv4. В интервью для Ars Винт Серф рассказал о событиях, которые последовали за этим.

Он заявил, что некоторые страстные участники Инженерного комитета интернета (IEFT) намеренно исказили наши действия как измену при выборе использования OSI. Это привело к значительной волне возмущения. В результате Совет по архитектуре интернета (IAO), ранее обладавший полномочиями принятия решений, был свергнут, и контроль перешел к IEFT, который стал авторитетом в установлении стандартов.

Чтобы снизить напряженность на встрече IETF в 1992 году, Серф устроил шумиху, сняв рубашку с надписью «IP ON EVERYTHING». В то же время Дэвид Кларк выразил мнение группы, заявив: ‘Мы отказываемся от монархий, президентов и голосования. Мы поддерживаем «приблизительный консенсус» и функциональное программное обеспечение.’

Судьба интернета

Оригинальный дизайн TCP/IP – кажущееся тривиальным техническое решение при его зарождении – с течением времени оказался значимым политическим следствием. В 2001 году Дэвид Кларк и Марджори Блюменталь опубликовали работу, анализирующую Протокольную войну. Они отметили, что сложные функции Интернета в основном управляются конечными точками, тогда как сеть сама по себе только обеспечивает передачу данных без вмешательства в их содержание или назначение. Эти

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

Однако спор, который казался невозможным разрешить и будущее интернета висело на волоске, оказалось не в руках правительств, комитетов или даже IEFT. Вместо этого, один человек изменил ход истории мира навсегда. Это был скромный ученый-компьютерщик, родившийся в Англии и работавший в швейцарском институте физико-технических исследований.

Это история, рассказанная в следующей статье нашей серии.

Смотрите также

2025-04-14 15:27