Смекни!
smekni.com

История возникновения Интернет (стр. 2 из 7)

В 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, поскольку большинство из них присутствовали на конференции в Суссексе.