История Интернета: ARPANET. Часть III

kolm A.Kryvenia & Nika

В принципе, историю ARPANET можно было ограничить и закончить второй частью (части I и II в КГ №№46, 48’2001 г.), но хотелось бы затронуть некоторые вещи, о которых я только вскользь упоминал, а они достойны большего. Но сначала о том, как закончилась история ARPANET.

Рождение TCP/IP

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

 Серф и Винт в то время входили в Международную сетевую рабочую группу (INWG), они принесли в INWG свою работу о протоколах глобальной связи для сетей с пакетной коммутацией. Фактически, предлагался новый протокол, суть которого была в том, чтоб создать конверт, в который "завернута" часть письма (эту часть письма внутри конверта было предложено назвать "дейтаграммой"). Сетям нужно было только понимать "надпись" на конверте, чтобы передать его в место назначения, а до содержания его им дела нет. Если конверт не доходил до "адресата", то должен быть выслан новый конверт. Этот протокол позволил "разговаривать" совершенно разным сетям. Примерно так и был объяснен принцип работы нового пакетного протокола в работе Серфа и Кана, протокола, который позже был назван протоколом контроля передачи или TCP (Transmission-Control Protocol).

 В 1977 Винт Серф стал программным директором SATNET, пакетных радиосетей и всех других многочисленных внутренних сетей, названных ARPA для удобства одним словом Internet (internal network). Вот что писал Ликлайдер: "Первый раз я увидел термин 'internetwork' в документах Xerox PARC (хост-машины ARPANET)".

 В июле 1977 Серф и Кан впервые продемонстрировали передачу данных с использованием TCP по трем различным сетям. Пакет прошел по следующему маршруту: Сан-Франциско — Лондон — Университет Южной Калифорнии. В конце своего путешествия пакет проделал 150 тысяч км, не потеряв ни одного бита. В 1978 году Серф, Постел и Дэни Кохэн решили выделить в TCP две отдельные функции: TCP и протокол Интернета (Internet Protocol, IP). TCP был ответственен за разбивку сообщения на дейтаграммы и соединение их в конечном пункте отправки. IP отвечал за передачу (с контролем получения) отдельных дейтаграмм. Вот так родился современный протокол Интернета. А 1 января 1983 года ARPANET перешла на новый протокол. Этот день принято считать официальной датой рождения Интернета. 

Смерть ARPANET

В конце 70-ых и начале 80-ых сети начали плодиться, как грибы после дождя в теплую летнюю погоду. Отмечу самые масштабные из них: CSNET (компьютерная научно-исследовательская сеть), BITnet (дословная расшифровка аббревиатуры "потому что это временная сеть"), CDNET (канадская сеть), MILNET (сеть МО США) и самая большая NSFNET (национальная научная сеть).

 В 1977 году ARPANET состояла из 111 хост-компьютеров, а уже в 1983 году — из 4000, которые располагались по всем США, была налажена спутниковая связь с Гавайями и Европой (см. географическую карту ARPANET в октябре 1980 года).
Но всему всегда приходит конец. В 1989 Интернет стал набирать обороты, все больше сеть использовалась в коммерческих целях, все менее в научных. К тому же, упомянутая NSFNET была ориентирована именно на научную аудиторию, эта научная сеть была быстрее ARPANET, в ней было больше компьютеров. В конце концов, в ARPA решили умертвить свое детище, успевшее прожить 22 года, а входящие в ARPANET компьютеры передать NSFNET. Данную миссию, отключая один за другим от ARPANET компьютеры, сделал Марк Пуллен (Mark Pullen). Так сказать, время жить, время умирать. Всем создателям первой сети было грустно, но они понимали, что мавр свое дело сделал.

 "Разработки ARPANET велись интенсивно, огромный вклад в разработки сделало множество лучших в США ученых. Все “крупные технические проблемы” были детально проработаны и изучены". Так написано в официальных бумагах ARPA, подводящих итог работы Офиса методов обработки информации. Также много говорилось, что на компьютер наконец-то взглянули иначе, чем на арифметическую машину. Одним словом, сбылась мечта Ликлайдера (см. Часть I). 

RFC — "открытая" документация

2Уникальным явлением было рождение документации под общим названием Request For Comments (RFC — дословно "просьба комментариев"). Идея была рождена еще первой Сетевой рабочей группой (NWG), а именно Стивом Крокером (о нем см. Часть II). Любой из членов группы приносил любые свои теоретические наработки касательно сетей, а другие ручкой на полях вносили комментарии, следующая версия наработок издавалась с комментариями, потом добавлялись все новые и новые комментарии. Так обсуждались теории, результатом было общее сформированное всей группой видение какой-либо теории. Практика "Просьбы комментариев" прижилась в научной среде, что-то подобное перекочевало в Usenet, а потом и в Интернет в виде конференций с обсуждениями. 

"Собачий" символ и мыло

Колоритно звучит у нас символ @, придуманный Рэем Томлинсоном (Ray Tomlinson) в 1973 году. Кстати, в Польше этот символ звучит еще смешней: "маупа". Рэй передал первое email-сообщение между компьютерами BBN в 1972. Он же написал первый софт под названием SNDMSG и READMAIL, а также первый протокол передачи файлов (названный CPYNET) для передачи файлов по ARPANET.

 "Я послал тест-сообщения самому себе с одного компьютера на другой, — вспоминает Томлинсон. — Текст сообщения был полностью мною забыт... Наиболее вероятно, что первое сообщение представляло собой QWERTYUIOP или что-то аналогичное... Компьютеры находились в непосредственной близости и были соединены физически, как компьютеры в ARPANET."

 Поначалу в BBN даже не поняли, что изобрели мощную вещь, столь востребованную в будущем. Спустя два года после первого применения e-mail трафик в ARPANET составил 75%. "Это [e-mail] получило распространение, потому что это была хорошая идея изначально. Не было никакой директивы, предписывающей создание e-mail," — писал позже Томлинсон.

 А почему именно @, спросите Вы? Официальная история гласит, что Рэй в думах о том, как разделить имя пользователя от имени компьютера, взглянул на свой телетайп 33 модели (что он там именно увидел, я не знаю) и выбрал символ "обезьяно-собаки" в качестве разделителя.

 "Символ @ нес смысл, я употреблял @ для указания, что пользователь относится к другому хосту, отличному от локального".

 В других сетях использовали другие символы, долгое время даже велись так называемые "войны заголовков" электронной почты. В конце 80-ых „@" был принят как всемирный стандарт. 

Что тяжким грузом лежит на сердце Винта Серфа

В одном из интервью в декабре 2001 года В.Серф сказал:
"Одна вещь не дает мне покоя сейчас: мы не сделали интернет-адреса достаточно емкими. Сейчас это 32-битный адрес с возможностью подключения 4,3 млрд различных устройств. В 1977 году для эксперимента под названием Интернет этого было достаточно. Но что я точно не мог предположить, так это то, что эксперимент не закончится вплоть по нынешнее время. Но сейчас мы переходим интернет-протокол версии 6, который делает возможным подключение 10 в 38-ой степени устройств. На мой век этого хватит, а потом пусть кто-нибудь другой решает эту проблему." 

Люди, которых просто нельзя не упомянуть

Бхушан, Абхай (Bhushan, Abhay); системный архитектор и эксперт Multic, был председателем группы, написавшей исходный протокол передачи файлов (FTP), описанный в RFC 354, в 1972.

 Вецца, Алберт (Vezza, Albert); директор Проекта MAC в MIT; он и Боб Кан организовали первую публичную демонстрацию сети ARPA в Вашингтоне в 1972; член MsgGroup; стоял у истоков изобретения компьютерных игр.

 Виттал, Джон (Vittal, John); программист; e-mail-разработчик; написал почтовую программу MSG (самый популярный e-mail-софт в сети в 1975); изобретатель команды ANSWER (ответить); влиятельный член MsgGroup.

 Волкер, Стив (Walker, Steve); основатель MsgGroup (1975); был программным директором IPTO ARPA.

 Лукасик, Стефан (Lukasik, Stephen); физик; директор ARPA в 1971 — 1975 гг.; сторонник сетевых исследований; ранний пользователь и лоббист электронной почты, Ликлайдер выделял этого директора ARPA среди многих других.

 МакКензи, Кевин (MacKenzie, Kevin); первый из известных пользователей "смайликов" etc в электронной почте; член MsgGroup; 12 апреля 1979 послал сообщение со следующей пунктуацией -), и ныне активно применяемой.

 Мокапетрис, Пол (Mockapetris, Paul); один из изобретателей системы доменных имен (DNS) в 1983.

 Партридж, Крайг (Partridge, Craig); один из изобретателей DNS; программист BBN.

Послесловие

Такая вот получилась история зарождения Интернета.

 Напоследок расскажу хорошую историю, где-то мною прочитанную. В 80-ые в СССР пришло приглашение от какой-то европейской страны поучаствовать в компьютерной конференции на биологическую тему. Прислали "буржуи" логин, "пасворд" для входа и добавили: "...единственное требование: модератором должен быть такой-то такой-то", — и указали имя нашего тогда еще кандидата-биолога. КГБ долгое время разбиралось, почему "они" хотят сделать нашего кандидата модератором и что такое модератор, в конце концов. Вдруг это шпион? Вызывали того самого кандидата и спрашивали: кто такой модератор, почему именно ты, чем ты отличаешься от других? Так вот этот кандидат-биолог стал первым пользователем Интернета на территории СССР и стран соцлагеря. Ура! 

Источник: http://www.nestor.minsk.by/kg