Теоретические основы Интернета

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 долларов, и мировое сообщество всерьез озаботилась проблемой компьютерных вирусов.