Глобальные компьютерные сети
Процессы взаимодействия вычислительных средств достаточно быстро переросли рамки отдельных фирм и организаций. Тенденции к интеграции и глобализации в современном мире получили адекватное отражение и в сфере компьютерных технологий. Совокупности вычислительных машин, объединенных коммуникационной средой, охватывающей значительные по расстоянию территории, получили название глобальных компьютерных сетей. За последние два-три десятилетия все виды организационного, аппаратного и программного обеспечения этих сетей бурно развивались и претерпели массу метаморфоз. Среди сетей, получивших общемировую известность, могут быть названы SPRINT, некоммерческая компьютерная сеть FIDO, международная система расчетов S.W.I.F.T. Однако самой примечательной тенденцией в последние годы стало выделение из всего сообщества компьютерных сетей сети Интернет в качестве явного лидера как по размерам, так и по темпам роста функциональных возможностей.
1. Основные принципы построения сети Интернет
Интернет – это глобальная информационная инфраструктура, представляющая собой механизм распространения данных и среду взаимодействия между пользователями и компьютерами вне зависимости от их географического положения.
Первоначально целью создания Интернета являлось объединение компьютерных сетей различных типов. В процессе создания сети Интернет были разработаны технические принципы функционирования и объединения компьютерных сетей, решена проблема управления глобальными информационными структурами, использованы новые принципы совместной работы над проектами и управления информационными потоками.
Первые исследования в области соединения удаленных компьютеров были проведены в начале 60-х годов ХХ века. В 1965 г. компьютер, находящийся в Массачусетском технологическом институте, был подключен к компьютеру в Калифорнии по телефонной линии. Для соединения использовалась технология коммутации каналов, характерная для телефонных линий.
Технология коммутации каналов подразумевает создание непрерывной физической линии связи между двумя абонентами – канала. Соединить всех желающих абонентов друг с другом невозможно, поэтому используется коммутация, т.е. возможность предоставления линии связи нескольким абонентам одновременно. Канал состоит из отдельных участков, которые соединяются между собой специальной аппаратурой – коммутаторами. Если абонент хочет установить соединение, то он обращается к ближайшему коммутатору, который, в свою очередь, по свободному каналу обращается к следующему и т.д. В конечном итоге устанавливается прямое соединение двух абонентов, и они могут обмениваться данными.
В результате эксперимента выяснилось, что коммутация каналов не подходит для создания компьютерных сетей. При использовании технологии коммутации каналов аппаратура абонентов должна работать с одинаковой скоростью, в то время как компьютеры обрабатывали данные с различной скоростью. Кроме того, неэффективно используется канал связи. Когда данные передаются, канал загружен, а когда обрабатываются – свободен. Однако физическое соединение и в том, и в другом случае сохраняется. Все это потребовало применения новой технологии передачи данных – коммутации пакетов. При использовании этой технологии все передаваемые в сети сообщения разбиваются на небольшие части, которые называются пакетами. Каждый пакет снабжается заголовком, в котором указывается адрес назначения пакета. Коммутаторы, используя адрес, передают пакеты друг другу до тех пор, пока он не достигнет места назначения. Если какой-либо коммутатор слишком загружен и не может передать пакет в течение некоторого времени, он помещает его в очередь пакетов и передает позже.
Проект сети компьютеров на основе коммутации пакетов был разработан в Агентстве перспективных разработок Министерства обороны США (DARPA). Создаваемая сеть получила название ARPANET. В 1969 г. началась реализация проекта, в сеть ARPANET были включены четыре удаленных компьютера. Для включения в сеть большего числа компьютеров необходимо было выработать некоторый единый набор правил, определяющих способ взаимодействия узлов сети ARPANET (последовательность передачи, формат сообщений) – протокол. В 1971-72 гг. работа над единым протоколом для сети ARPANET была завершена. Этот протокол получил название Network Control Program (NCP). Создание протокола позволило начать разработку прикладных программ для использования в сети. Одной из первых таких программ стала программа электронной почты, которая позволила участникам проекта эффективнее обмениваться информацией между собой.
Возникновение Интернета базировалось на идее, предполагавшей возможность объединения нескольких независимых компьютерных сетей с различной архитектурой на основе ARPANET.
В протоколе NCP не предполагалось наличие какого-либо механизма взаимодействия с сетями другой, нежели ARPANET, архитектуры. Кроме того, объединяя сети, необходимо было учесть возможность временного нарушения связи или даже выхода части объединенной сети из строя. При этом оставшаяся часть сети должна продолжать нормально работать. Таким образом, были сформулированы основные принципы построения новой сети:
· для включения в глобальную сеть отдельной сети не должно производиться никаких дополнительных изменений локальной сети;
· пакеты передаются на основе принципа негарантированной доставки: если пакет не смог достигнуть пункта назначения, то через короткое время он должен быть передан снова;
· для соединения сетей используются маршрутизаторы, максимально упрощающие прохождение потока пакетов;
· не должно существовать единого, централизованного управления объединенной сетью.
Ключом к объединению сетей стал новый протокол, поддерживающий межсетевое взаимодействие: TCP (Transmission Control Protocol), первая версия которого появилась в 1973 г. Он обеспечивал доставку сообщений в Интернете и предоставлял достаточно широкий диапазон транспортных услуг.
TCP прекрасно работает при решении таких задач, как передача файлов или удаленная регистрация, но в некоторых случаях (например, при передаче речи) потери пакетов не могут быть исправлены только средствами TCP, а эти функции должны быть возложены на приложение. Этот факт привел к разделению TCP на два протокола:
· IP – для адресации и передачи отдельных пакетов;
· TCP – для разделения сообщений на пакеты, обеспечения целостности и восстановления потерянных пакетов.
Для приложений, которые не хотели использовать TCP, был добавлен альтернативный протокол, названный UDP, который обеспечивал прямой доступ к IP. Объединенный протокол принято называть TCP/IP.
Основной движущей силой при создании ARPANET и Интернета была необходимость обеспечить разделение ресурсов. Соединить два компьютера вместе оказалось гораздо экономичнее, чем копировать их функции. Однако передача файлов, удаленная регистрация и электронная почта произвели гораздо больший эффект, чем предполагалось в то время.
Одной из ключевых концепций Интернета было не создание одного или нескольких приложений для работы с сетевыми устройствами, а создание общей инфраструктуры, в которой могли бы существовать новые приложения.
Следующим сильным толчком к развитию Интернета было увеличение размеров сети и связанные с этим проблемы управления. Все большее количество людей использовало сеть Интернет, и все большее количество узлов подключалось к Интернету. В протоколе IP адрес узла представлен в виде набора цифр, разделенных точками.
Запомнить огромное множество комбинаций IP-адресов практически невозможно. Для того чтобы упростить использование сети людьми, с каждым узлом ассоциировались имена и, таким образом, не было необходимости запоминать числовые адреса. Первоначально существовало ограниченное число узлов, и соответствия адресов и имен можно было хранить в одной таблице. Появление большого количества независимо управляемых сетей привело к тому, что хранить адреса в одной таблице было невозможно, тогда появилась система доменных имен (DNS), представляющая собой масштабируемый, распределенный, иерархический механизм разрешения имен узлов и их адресов.
Увеличение размеров Интернета потребовало изменения возможностей маршрутизаторов. Первоначально существовал единый алгоритм маршрутизации, который исполнялся всеми маршрутизаторами в Интернете. В то время как число хостов росло, возможности исходного алгоритма не могли быть адекватным образом расширены, и он был заменен иерархической моделью маршрутизации, включавшей протокол IGP, который использовался внутри регионов, и протокол EGP, который использовался для связи регионов вместе. Дизайн протоколов позволял использовать различные версии IGP в зависимости от требований к системе (стоимость, скорость конфигурации, чувствительность к сбоям, масштабируемость). Требования к маршрутизаторам определялись не только алгоритмами маршрутизации, но и размерами таблиц маршрутизации. Создание иерархической модели маршрутизации определило современную структуру сети Интернет. В 1980 г. протокол TCP/IP был принят в качестве стандарта для сети ARPANET. Переход на использование TCP/IP позволил разделить сеть ARPANET на две различные сети:
· MILNET – предназначена для военных целей;
· ARPANET – использовалась исследовательскими и научными организациями.
В 1986 г. Национальный научный фонд США (NSF) начал создание собственной сети, объединяющей крупные научные суперкомпьютерные центры США. В качестве основы для новой сети был выбран протокол TCP/IP и другие технологии, опробованные в ARPANET. В дальнейшем эта сеть, получившая название NSFNET, стала основной магистралью сети Интернет. В 1988 г. было принято решение предоставлять доступ к сети NSFNET не только научным и образовательным организациям, но и коммерческим фирмам. В 1994 г. финансирование основной магистрали сети Интернет было полностью передано от NSF различным государственным и коммерческим организациям.