Смекни!
smekni.com

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

В процессе сотрудничества между Каном и Серфом были сформулированы следующие основополагающие принципы:

Общение между двумя процессами логически должно представляться как обмен непрерывными последовательностями байтов (октетов, в терминологии Кана и Серфа). Для идентификации октета используется его позиция в последовательности.

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

Вопрос о том, как именно отправитель и получатель договариваются о параметрах окон, оставлен открытым. Первоначально используются подразумеваемые значения.

Хотя в то время в Исследовательском центре компании Ксерокс в Пало-Альто (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), позволяющие уменьшить размер этих таблиц.