|
Глава 2. Эталонная модель взаимодействия открытых систем ЭМВОС (Open System Interconnection - модель OSI)В 1977 году Международная организация по стандартизации (МОС, ISO), состоящая из представителей индустрии информационных и телекоммуникационных технологий, создала комитет по разработке коммуникационных стандартов в целях обеспечения универсального взаимодействия программных и аппаратных средств множества производителей. Результатом его работы стала эталонная модель взаимодействия открытых систем ЭМВОС. Модель определяет уровни взаимодействия в компьютерных сетях (Рис. 1), описывает функции, которые выполняются каждым уровнем, но не описывает стандарты на выполнение этих задач.
Поскольку различные компьютеры имеют различные скорости передачи данных, различные форматы данных, различные типы разъемов, разные способы хранения и доступа к данным (методы доступа), разные операционные системы и организацию видов памяти, то возникает масса не очевидных проблем их соединения. Все эти проблемы классифицировали и распределили по функциональным группам – уровням ЭМВОС. Уровни организуются в виде вертикального стека (Рис.2.2). Каждый уровень выполняет некоторую группу близких функций, требуемых для организации связи компьютеров. В реализации более примитивных функций он полагается на нижележащий уровень (пользуется его услугами) и не интересуется подробностями этой реализации. Кроме того, каждый уровень предлагает услуги вышестоящему уровню. Пусть прикладной процесс пользователя, который выполняется в оконечной системе «А», обращается с запросом к прикладному уровню (Application), например, к файловой службе. На основании этого запроса программное обеспечение прикладного уровня формирует сообщение стандартного формата, которое обычно состоит из заголовка (header) и поля данных. Заголовок содержит служебную информацию, которую надо передать через сеть прикладному уровню другого компьютера (оконечная система «В»), чтобы сообщить ему, какие действия требуется выполнить. Например, заголовок должен содержать информацию о местонахождении файла и о типе операции, которую необходимо над ним выполнить. Поле данных может быть пустым или содержать какие-либо данные, например те, которые надо записать в удаленный файл. Для того чтобы доставить эту информацию по назначению, предстоит решить много задач. Но за них несут ответственность другие нижележащие уровни.
Рис.2.2. Архитектура процессов в сети в соответствии с ЭМВОС
Сформированное сообщение прикладной уровень направляет вниз по стеку представительному уровню (Presentation). Программный модуль представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению свою служебную информацию – заголовок представительного уровня, в котором содержатся указания для модуля представительного уровня компьютера – получателя. Сформированный блок данных передается вниз по стеку сеансовому уровню (Session), который в свою очередь добавляет свой заголовок и т.д. Когда сообщение достигает нижнего физического уровня (Physical), оно «обрастает» заголовками всех уровней. Физический уровень обеспечивает передачу сообщения по линии связи, то есть через физическую среду передачи. Когда сообщение поступает на компьютер – получатель, оно принимается физическим уровнем и последовательно перемещается вверх по стеку с уровня на уровень. Каждый уровень анализирует и обрабатывает свой заголовок, выполняет свои функции, затем удаляет этот заголовок и передает оставшийся блок данных смежному вышележащему уровню. Правила (спецификации), по которым взаимодействуют компоненты систем, называются протоколами. В модели ЭМВОС различают два основных типа протоколов. В протоколах с установлением соединения (connection-oriented network service) перед обменом данными отправитель и получатель (сетевые компоненты одного уровня в удаленных системах) должны сначала установить логическое соединение и, возможно, выбрать протокол, который будут использовать. После завершения диалога они должны разорвать соединение. В протоколах без предварительного установления соединения (connectionless network service) отправитель просто передает данные. Эти протоколы также называются дейтаграммными. Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов. Для обозначения блока данных, с которым имеют дело модули определенного уровня, в модели ЭМВОС используется общее название протокольный блок данных (Protocol Data Unit, PDU). В то же время блок данных определенного уровня имеет и специальное название (Рис.2.3).
Кратко рассмотрим функции, отнесенные к разным уровням ЭМВОС. Физический уровеньОбеспечивает передачу потока бит в физическую среду передачи информации. В основном определяет спецификацию на кабель и разъемы, т.е. механические, электрические и функциональные характеристики сетевой среды и интерфейсов. На этом уровне определяется:
Примерами реализации протоколов физического уровня являются RS-232, RS-449, RS-530 и множество спецификаций МСЭ-Т серии V и X (например, V.35, V.24, X.21). Канальный уровеньНа этом уровне биты организуются в группы (фреймы, кадры). Кадр – это блок информации, имеющий логический смысл для передачи от одного компьютера другому. Каждый кадр снабжается адресами физических устройств (источника и получателя), между которыми он пересылается. Протокол канального уровня локальной сети обеспечивает доставку кадра между любыми узлами (node) этой сети. Если в локальной сети используется разделяемая среда передачи, протокол канального уровня выполняет проверку доступности среды передачи, то есть реализует определенный метод доступа в канал передачи данных. В глобальных сетях, которые редко обладают регулярной топологией, канальный уровень обеспечивает обмен кадрами между соседними в сети узлами, соединенными индивидуальной линией связи. Кроме пересылки кадров с необходимой синхронизацией канальный уровень выполняет контроль ошибок, контроль соединения и управление потоком данных. Начало и конец каждого кадра обозначаются специальной битовой последовательностью (например, флаг – 01111110). Каждый кадр содержит контрольную последовательность, которая позволяет принимающей стороне обнаруживать возможные ошибки. Канальный уровень может не только обнаруживать, но и исправлять поврежденные кадры за счет повторной передачи. В заголовке канального уровня содержится информация об адресах взаимодействующих устройств, типе кадра, длине кадра, информация для управления потоком данных и сведения о протоколах вышестоящего уровня, принимающих пакет, размещенный в кадре. Сетевой уровеньОсновной задачей этого уровня является передача информации по сложной сети, состоящей из множества островков (сегментов). Внутри сегментов могут использоваться совершенно разные принципы передачи сообщений между конечными узлами – компьютерами. Сеть, состоящую из многих сегментов, мы называем Интернет. Передача данных (пакетов) между сегментами выполняется при помощи маршрутизаторов (router, роутер). Можно представить себе маршрутизатор как устройство, в котором функционируют два процесса. Один из них обрабатывает приходящие пакеты и выбирает для них по таблице маршрутизации исходящую линию. Второй процесс отвечает за заполнение и обновление таблиц маршрутизации и определяется алгоритмом выбора маршрута. Алгоритмы выбора маршрута можно разбить на два основных класса: адаптивные и неадаптивные. Неадаптивные алгоритмы (статическая маршрутизация) не учитывают топологию и текущее состояние сети и не измеряют трафик на линиях связи. Список маршрутов загружается в память маршрутизатора заранее и не изменяется при изменении состояния сети. Адаптивные алгоритмы (динамическая маршрутизация) изменяют решение о выборе маршрутов при изменении топологии сети и в зависимости от загруженности линий.
Рис.2.4. Передача информации между сегментами сложной сети
Наиболее популярны в современных сетях два метода динамической маршрутизации: маршрутизация по вектору расстояния (протокол RIP, который минимизирует число переходов через промежуточные маршрутизаторы – число хопов) и маршрутизация с учетом состояния каналов (протокол OSPF, который минимизирует время достижения нужного сегмента сети). На сетевом уровне может потребоваться разбить полученный фрейм на более мелкие фрагменты(дейтаграммы ), прежде чем передать их дальше. Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека компании Novell IPX/SPX. Транспортный уровеньТранспортный уровень – это сердцевина иерархии протоколов. Он предназначен для оптимизации передачи данных от отправителя к получателю, управления потоком данных, организации приложению или верхним уровням стека необходимой степени надежности передачи данных вне зависимости от физических характеристик использующейся сети или сетей. Начиная с транспортного уровня, все вышележащие протоколы реализуются программными средствами, обычно включаемыми в состав сетевой операционной системы. Осуществляется несколько классов сервиса. Например, защищенный от ошибок канал между конечными узлами (отправителем и получателем), поставляющий получателю сообщения или байты в том порядке, как они были отправлены. Может предоставляться другой тип сервиса, например, пересылка отдельных сообщений без гарантии соблюдения порядка их доставки. Примерами протоколов этого уровня являются протоколы TCP, SPX, UDP. Сеансовый уровень (уровень сессии)Уровень позволяет пользователям различных компьютеров устанавливать сеансы связи друг с другом. При этом обеспечивается открытие сеанса, управление диалогом устройств (например, выделение места для файла на диске принимающего устройства) и завершение взаимодействия. Это делается с помощью специальных программных библиотек (например, RPC-remote procedure calls от Sun Microsystems). На практике немногие приложения используют сеансовый уровень. Уровень представленияУровень выполняет преобразование данных между компьютерами с различными форматами кодов символов, например ASCII и EBCDIC, то есть преодолевает синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрирование и сжатие данных, благодаря чему секретность обмена данными обеспечивается сразу для всех прикладных служб. Прикладной уровень (уровень приложения)Прикладной уровень – это набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, электронная почта, гипертекстовые WEB-страницы, принтеры. На этом уровне происходит взаимодействие не между компьютерами, а между приложениями: определяется модель, по которой будет происходить обмен файлами, устанавливаются правила, по которым мы будем пересылать почту, организовывать виртуальный терминал, сетевое управление, директории. Примерами протоколов этого уровня являются: Telnet, X.400, FTP, HTTP. ВыводыМодель ЭМВОС – это средство для создания и понимания средств передачи данных, классификации функций сетевых устройств и программного обеспечения. В соответствии с ЭМВОС эти функции разбиты на семь уровней. Реализуются они при помощи спецификаций – протоколов. Разработчики модели полагали, что ЭМВОС и протоколы, разрабатываемые в ее рамках, будут преобладать в средствах компьютерной связи, и, в конце концов, вытеснят фирменные протоколы и конкурирующие модели, такие как TCP/IP. Но этого не произошло, хотя в рамках модели были созданы полезные протоколы. В настоящее время большинство поставщиков сетевого оборудования определяют свои продукты в терминах ЭМВОС (OSI). Дополнительная информацияInternational Organization for Standardization, Information Processing Systems-Open System Interconnection-Basic Reference Model, ISO7498-1984 Контрольные вопросы
|