Для согласованной работы двух разных устройств необходимо иметь соглашение,
требованиям которого будет удовлетворять работа каждого устройства. Соглашение,
как правило, оформляется в виде стандарта.
Взаимодействие устройств в вычислительной сети является сложным процессом, реализация
которого требует решения многих взаимосвязанных проблем и задач. Обычно сложная
проблема разделяется на отдельные части. Решение каждой отдельной части представляет
собой относительно простую задачу. Решение всех частей в сумме дает решение
поставленной проблемы. Рассматриваемая ниже модель была разработана, исходя
именно из этого принципа.
В начале 80-х годов международная организация по стандартизации ISO при поддержке
других организаций по стандартизации разработала модель взаимодействия открытых
систем (Open System Interconnection, OSI), модель OSI. Схема модели приведена
на рис. 1.
Модель OSI очень быстро стала одной из основных моделей, описывающих процесс
передачи данных между компьютерами.
Модель OSI описывает системные средства взаимодействия, реализуемые операционной
системой, системными утилитами, системными аппаратными средствами. Модель не
описывает взаимодействия приложений с конечным пользователем.
Модель OSI разделяет средства взаимодействия на семь уровней:
Каждый уровень относительно независим. Модули реализации каждого уровня могут
быть легко заменены без внесения изменений в модули других уровней. Каждый уровень
описывает строго определенные функции взаимодействия сетевых устройств. Все
уровни образуют иерархическую систему, в которой запрос, вырабатываемый на каком-либо
уровне, передается на исполнение нижележащему уровню. Результаты обработки запроса
передаются на вышележащий уровень. Прикладной уровень получает запрос от приложения,
работающего на компьютере, в виде сообщения, которое нужно передать на другой
компьютер. Физический уровень занимается собственно пересылкой подготовленных
данных по физическим линиям. Для описания взаимосвязей между двумя уровнями
устанавливаются правила или соглашения, которые называются интерфейсом. Интерфейс
определяет набор сервисов, предоставляемый уровнем соседнему уровню.
В процессе обмена данными участвуют два компьютера. Процесс взаимодействия компьютеров
может быть представлен как набор взаимодействий одинаковых уровней. Правила,
определяющие формат сообщений между одинаковыми уровнями, называются протоколом.
В модели OSI различаются протоколы двух типов. Протокол с установлением соединения
предполагает, что перед началом обмена данными между компьютерами должно быть
установлена связь с определенными параметрами. По дейтаграммному протоколу сообщение
передается в сеть без предварительного установления соединения.
Средства каждого уровня отрабатывают протокол своего уровня и интерфейсы с соседними
уровнями. Набор протоколов, достаточный для организации взаимодействия в сети,
называется стеком коммуникационных протоколов.
Блоки информации, передаваемые между уровнями, имеют стандартный формат: заголовок,
служебная информация, данные, завершающая информация. Каждый уровень при передаче
блока информации нижележащему уровню снабжает его своими заголовками. Заголовки
вышележащих уровней воспринимаются нижележащими уровнями как данные блока информации.
На каждом уровне информация обрабатывается в соответствии с назначенными функциями,
например, данные шифруются.
При получении блока информации от нижележащего уровня заголовки и другая служебная
информация текущего уровня отбрасываются. Данные обрабатываются, например, данные
дешифруются. Данные, поступающие на вышележащий уровень, уже имеют его заголовки.
На физическом уровне определяются характеристики электрических сигналов, передающих
данные, физического канала связи, типы разъемов с назначением каждого контакта.
Физический уровень описывает передачу битов информации по физическим каналам
связи.
Функции физического уровня на компьютере выполняются сетевым адаптером.
Канальный уровень решает две задачи. Первая задача - определение доступности
среды передачи данных. Эта задача решается в сетях с разделяемой средой передачи
данных, когда в конкретный момент времени канал связи занят только одной парой
компьютеров. Вторая задача - определение механизма обнаружения и коррекции ошибок.
Обмен данными осуществляется определенными порциями, которые называются кадрами.
В каждый кадр добавляются определенные последовательности бит в начало и конец
для выделения кадра, адрес компьютера-отправителя, адрес компьютера-получателя.
Кроме того, в каждый кадр добавляется вычисляемая контрольная сумма, которая
необходима для проверки корректности передачи кадра. Исправление обнаруженной
ошибки возможно за счет повторной передачи кадра.
В компьютерах протоколы канального уровня реализуются сетевыми адаптерами и
их драйверами.
Протоколы канального уровня, используемые в локальных сетях, разрабатываются
для сетей с определенной топологией.
Протоколы канального уровня поддерживают топологии: общая шина, "звезда" , "кольцо"
и полученные на основе перечисленных топологий с использованием специального
коммуникационного оборудования (мосты, коммуникаторы).
Использование протоколов канального уровня в глобальных сетях ограничено применением
при обмене между двумя компьютерами, соединенными индивидуальной линией связи.
Для обмена данными между конечными узлами разных сетей используются средства
следующего, сетевого уровня.
На сетевом уровне решаются вопросы объединения сетей с разными топологиями,
с разными принципами передачи данных между конечными узлами для образования
единой транспортной системы. Здесь сеть является не просто объединением компьютеров,
но соединением по одной из типовых технологий, использующих для передачи данных
один из протоколов канального уровня. Сетевой уровень решает вопросы обмена
данными между сетями. Обмен данными осуществляется порциями, которые называются
пакетами. Каждый пакет, кроме адреса компьютеру, снабжается адресом сети как
получателя, так и отправителя.
Для соединения сетей используется маршрутизатор, который собирает информацию
о топологии межсетевых соединений. Для пути передачи пакета между Конечными
узлами, находящимися в разных сетях, возможно, находятся другие промежуточные
сети, через которые необходимо сделать транзитные передачи. Таким образом, пакет
проходит через несколько маршрутизаторов, которые образуют маршрут. Таких маршрутов
может быть несколько. Проблема выбора наилучшего маршрута является главной задачей
сетевого уровня, решение которой возлагается на маршрутазатор. Критерии выбора
могут быть следующими: время передачи пакета, надежность передачи. На сетевом
уровне решаются вопросы согласования разных технологий, оптимизации информационных
потоков между сетями.
На сетевом уровне выделяются два вида протоколов. Это сетевые протоколы, с помощью
которых осуществляется продвижение пакетов через сеть. К ним можно отнести и
так называемые протоколы маршрутизации, с помощью которых маршрутизаторы обмениваются
маршрутной информацией. Второй вид протокола - протокол разрешения адресов,
который отвечает за преобразование адреса узла, используемого на сетевом уровне,
в локальный адрес сети.
На транспортном уровне решаются вопросы обеспечения надежности передачи данных,
обнаружения и исправления ошибок передачи (искажение, потеря и дублирование
пакетов). Модель OSI определяет пять классов сервиса, которые определяются качеством
предоставляемых услуг по надежности. Задача выбора класса сервиса решается не
только приложениями и протоколами более высоких уровней, но и зависит от уровня
надежности, который обеспечивается более низкими уровнями (сетевым, канальным,
физическим). Если качество каналов связи, например, отечественных телефонных
линий, оставляет желать лучшего, то разумно использовать более развитый сервис
транспортного уровня по обеспечению надежности передачи данных.
Протоколы транспортного уровня и выше реализуются программными средствами узлов
сети, компонентами сетевых систем.
На сеансовом уровне реализуются средства синхронизации, при помощи которых в
длинных передачах устанавливаются специальные контрольные точки для возможного
отката в случае сбоя не в начало, а на последнюю контрольную точку. Сеансовый
уровень обеспечивает управление диалогом между конечными узлами.
Отдельные протоколы сеансового уровня обычно не используются. Его функции реализуются
в протоколах прикладного уровня.
Функции уровня представления заключаются в преобразовании формы представления
данных, полученных от прикладного уровня одной системы, в форму, необходимую
для восприятия прикладным уровнем другой системы. На этом уровне преодолеваются
синтаксические различия в представлении и кодировке данных На уровне представления
также обеспечивается секретность обмена данными для всех служб прикладного уровня.
Протоколы прикладного уровня обеспечивают доступ пользователей к разделяемым ресурсам сети (файлы, принтеры, факсы, сканеры, гипертекстовые страницы) К ним относятся протоколы электронной почты и другие протоколы совместной работы. В качестве единицы информации протоколы этого уровня используют сообщение.