Первоначально появились системы пакетной обработки (1950-60гг). Программирование тогда было исключительно на машинном языке, поэтому был очень узкий круг специалистов. Заказчик приносил администратору пакет заданий, в основном вычислительного характера, и в конце дня забирал результат. Ключевым понятием здесь является - пропускная способность, т.е. количество операций в единицу времени. Она должна быть максимальной. Кроме того, каждая операция имеет требования к ресурсам. Задачи необходимо выставлять в таком порядке, чтобы это было выгодно для машины. В системах пакетной обработки отсутствовал диалог машины с пользователем и он никак не мог вмешаться в последовательность задач.
1965-1975 гг. ознаменованы переходом к новому поколению компьютеров, основанных на интегральных схемах, а не на полупроводниковых приборов типа транзисторов. Появляются алгоритмические языки программирования, появляются первые ПК. Мультипрограммирование - это решение нескольких задач попеременно на одном процессоре. Появляются многотерминальные системы - рабочие станции подсоединены средствами связи с мейнфреймом и посылают ему запросы. Он их обрабатывает и высылает ответы (соединение технологий пакетной обработки и разделения во времени, т.е. мультипрограммирования). Такие системы обладали всеми свойствами ЛВС, но таковыми не являлись, поскольку данные обрабатывались на автономно-работающем компьютере.
Вычислительная сеть - это совокупность компьютеров, соединенных линиями связи. Существует много топологий, основными из которых являются шина, звезда и кольцо. Сети разделяют по территориальному признаку на глобальные, городские и локальные. Первыми появились глобальные сети. В этих сетях данные передаются на сотни и тысячи километров. Они вышли из телефонных сетей. Первоначально были медленными и ненадежными. В наше время надежность глобальных сетей равна надежности локальных. Интернет - это совокупность добровольно объединенных сетей, построенная на использовании протоколов IP и использовании маршрутизации пакетов данных.
Вторыми появились локальные сети. Они передают данные на небольшие расстояния 1-2 км в пределах нескольких зданий. Основными стандартами на сегодняшний день являются: Ethernet, Talking ring, FDDI. Основная скорость до 10 Гбит/сек. Городские сети являются результатом интеграции локальных и глобальных сетей. Радиус передачи информации исчисляется несколькими десятками километров.
2. Сетевые модели OSI и TCP/IP
Суть сетей состоит в соединении разного рода оборудования, поэтому проблема совместимости является одной из наиболее острых. В связи с этим все технологии стали стандартизировать. Основными источниками стандартов являются: Международная организация по стандартизации (ISO), Институт по электронным и электрическим изобретениям (IEEE).
В компьютерных сетях применяется многоуровневый подход и принцип декомпозиции, т.е. основная задача разбивается на несколько подзадач-модулей и порядок их взаимодействия (интерфейсы), а подзадачи модули объединяются между собой и получаются уровни. Группа модулей формируется таким образом, что она может обращаться к данным соседнего нижележащего уровня и передавать свои данные соседнему вышележащему.
Протокол - это алгоритм, согласно которому обмениваются сообщениями компоненты, лежащие на одном уровне, но в разных узлах сети. Интерфейс - это алгоритм, согласно которому сообщениями обмениваются компоненты, лежащие на соседних уровнях внутри одного узла. Стек протоколов - это набор правил, необходимых для нормальной работоспособности сети.
В начале 80-х годов ISO создало семиуровневую модель взаимодействия открытых систем (OSI). В ней присутствовали такие уровни, как физический, канальный, сетевой, транспортный, сеансовый, представительский и прикладной. Первые 4 - уровни потока данных, последние 3 - уровни приложений. Теперь поподробнее о том, чем занимается каждый из этих уровней:
1. Физический уровень. Он имеет дело непосредственно с передачей битов по каналам связи. К этому уровню имеют отношение такие понятия как полоса пропускания, помехозащищенность. Здесь стандартизируются сам тип кабеля, сетевые адаптеры. Здесь определяются физические характеристики сигналов, тип передачи -дискретный/аналоговый, тип кодирования.
2. Канальный уровень. Он проверяет доступность среды передачи. Упаковывает биты в кадры, дополняя их контрольной суммой. Когда кадр придет получателю, то снова вычисляется контрольная сумма и если она совпадет, то кадр принимается, а если нет, то отбрасывается и происходит повторная передача кадра (либо исправление кадра, если кадр закодирован кодом, исправляющим ошибки). Канальный уровень обеспечивает доставку данных для тех топологий, для которых он разработан (звезда, шина, кольцо, точка-точка), а также соединенных базовых топологий посредством мостов и коммутаторов. Протоколы канального уровня реализуются программно с помощью драйверов и сетевых адаптеров.
3. Сетевой уровень. Он позволяет передавать данные внутри сети с произвольной топологией, а также от одной сети к другой. Сетевой уровень поддерживает возможность выбора правильного маршрута. Для этого предназначены специальные устройства, называемые маршрутизаторами. Адрес получателя состоит из номера сети и номера узла. Сетевые протоколы делят на 2 группы - сетевые протоколы (просто продвижение пакетов по сети) и протоколы маршрутизации (выбор маршрута).
4. Транспортный уровень. Он обеспечивает передачу данных вышестоящим уровням с определенной степенью надежности и способен обнаружить и исправить ошибки при передаче. Он разбивает данные, полученные от сеансового уровня на пакеты, нумерует их, упорядочивает и управляет потоком.
Все эти 4 уровня являются транспортной подсистемой, а верхних 3 уровня - это уровни приложений.
5. Сеансовый уровень. Он управляет диалогом между сторонами. Определяет способ передачи (дуплексный или полудуплексный), предоставляет средства синхронизации. Например, для витой пары: 4 проводника отвечают за прием информации, а 4 за передачу. Если одна сторона может только или принимать или передавать информацию – это полудуплексный режим работы, а если и то и другое – это дуплексный режим.
6. Представительный уровень имеет дело с представлением данных (преобразование внешнего потока данных во внутренний). Здесь выполняется шифрование и дешифрование данных.
7. Прикладной уровень. Здесь имеется набор сервисов, предоставленных конечному пользователю.
Уровни, функции которых зависимы от технической реализации называют сетезависимыми. К ним относят 3 нижних уровня. 3 верхних уровня являются сетенезависимыми, а транспортный является прослойкой между ними.
Теперь поговорим о стеке протоколов TCP/IP. Он состоит из 4 уровней - объединение физического и канального уровней называют уровнем сетевых интерфейсов, далее сетевой, транспортный, и прикладной = сеансовый + представительский + прикладной. Сегодня он является самым распространенным протоколов и используется в глобальной сети Интернет.