next up previous contents
Next: Уровни работы сети Internet Up: Работа Internet: организацияструктура, Previous: Введение

Эталонная модель OSI

    Международная Организация по Стандартизации (ISO) приняла стандарт ISO 7498, описывающий взаимодействие открытых систем (OSI), каковыми среди прочего являются и сетевые компьютеры. Расскажем о нём.

Современные сети построены по многоуровневому принципу. Чтобы организовать связь двух компьютеров, требуется сначала создать свод правил их взаимодействия, определить язык их общения, т.е. определить, что означают посылаемые ими сигналы и т.д. Эти правила и определения называются протоколами. Для работы сетей необходимо запастись множеством различных протоколов: например, управляющих физической связью, установлением связи по сети, доступом к различным ресурсам и т.д. Многоуровневая структура используется с целью упростить и упорядочить это великое множество протоколов и отношений. Она также позволяет составлять сетевые системы из продуктов -- модулей программного обеспечения, -- выпущенных разными производителями.

Стандарт, выработанный ISO, называется Взаимодействие Открытых Систем -- Open System Interconnection -- OSI. Он описывает структуру самих открытых систем, требования к ним, их взаимодействие. Модель взаимодействия сетевых систем, представленная в этом стандарте, известна под названием ``эталонная модель ISO/OSI''. Она вертикально структурирована и имеет семь уровней.

Продемонстрируем основные принципы многоуровневого взаимодействия на диаграмме. Структура эталонной модели согласно ISO показана на рисунке 3.1.

  figure426
Figure: Эталонная модель ISO/OSI 

Взаимодействие уровней в этой модели -- субординарное. Каждый уровень может реально взаимодействовать только с соседними уровнями (верхним и нижним), виртуально -- только с аналогичным уровнем на другом конце линии.

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

Под виртуальным взаимодействием мы понимаем опосредованное взаимодействие и передачу данных; здесь данные в процессе передачи могут уже определённым, заранее оговоренным образом видоизменяться.

Такое взаимодействие аналогично переписке двух больших начальников. Рассмотрим схему цепи посылки письма в такой переписке. Например, директор Systy Artems пишет письмо редактору газеты ``Гудок''. Г-н Рухмеров* пишет письмо на своём фирменном бланке (на листе шикарной мелованной бумаги) и отдаёт этот листок секретарю. Секретарь запечатывает листок в конверт, надписывает конверт, наклеивает марку и передаёт почте. Почта доставляет письмо в соответствующее почтовое отделение. Это почтовое отделение связи непосредственно доставляет письмо получателю -- секретарю редактора газеты ``Гудок''. Секретарь распечатывает конверт и по мере надобности подаёт письмо редактору. Ни одно из звеньев цепи не может быть пропущено, иначе цепь разорвётся: если отсутствует, например, секретарь, то листок с письменами г-на Рухмерова так и будет пылиться на столе.

Здесь мы видим, как информация (лист бумаги с текстом) передаётся с верхнего уровня вниз, проходя множество необходимых ступеней -- стадий обработки. Обрастает служебной информацией (пакет, адрес на конверте, почтовый индекс; контейнер с корреспонденцией; почтовый вагон и т.д.), изменяется на каждой стадии обработки и постепенно доходит до самого нижнего уровня -- уровня почтового транспорта (гужевого, железнодорожного, воздушного, ...), которым реально перевозится в пункт назначения. В пункте назначения происходит обратный процесс: вскрывается контейнер и извлекается корреспонденция, считывается адрес на конверте и почтальон несёт его адресату (секретарю), который восстанавливает информацию в первоначальном виде, -- достаёт письмо из конверта, определяет его срочность, важность, и в зависимости от этого передаёт информацию выше -- директору.

Два директора (директор и редактор), таким образом, виртуально имеют прямую связь. Ведь второй директор (редактор газеты ``Гудок'') получает в точности ту же информацию, которую отправил первый (г-н Рухмеров), а именно -- лист бумаги с текстом письма. Начальствующие персоны совершенно не заботятся проблемами пересылки этой информации.

Секретари также виртуально имеют прямую связь: секретарь редактора получит в точности то же, что отправила секретарь г-на Рухмерова, а именно -- конверт с письмом. Секретарей совершенно не волнуют проблемы почты, пересылающей письма. И так далее.

Аналогичные связи и процессы имеют место и в эталонной модели ISO/OSI. Физическая связь реально существует только на самом нижнем уровне (аналог почтовых поездов, самолётов, автомобилей). Горизонтальные связи между всеми остальными уровнями являются виртуальными, реально они осуществляются передачей информации сначала вниз, последовательно до самого нижнего уровня, где происходит реальная передача, а потом, на другом конце, обратная передача вверх последовательно до соответствующего уровня. На рисунке 3.1 показан путь информации на уровне 6.

Модель ISO/OSI предписывает очень сильную стандартизацию вертикальных межуровневых взаимодействий. Такая стандартизация гарантирует совместимость продуктов, работающих по стандарту какого-либо уровня, с продуктами, работающими по стандартам соседних уровней, даже в том случае, если они выпущены разными производителями. Количество уровней может показаться избыточным, однако же, такое разбиение необходимо для достаточно чёткого разделения требуемых функций во избежание излишней сложности и создания структуры, которая может подстраиваться под нужды конкретного пользователя, оставаясь в рамках стандарта.

Вообще-то нам кажется, что выбор числа 7 определился особенностями человеческой психики и сознания. Известно, что средний человек может одновременно оперировать (удерживая их в поле своего внимания) максимум 7 объектами (физическими, логическими, лингвистическими и т.п.). Вы никогда не задумывались, почему в радуге 7 цветов?

Дадим краткий обзор уровней.  

Уровень 0
связан с физической средой -- передатчиком сигнала и на самом деле не включается в эту схему, но весьма полезен для понимания. Этот почётный уровень представляет посредников, соединяющих конечные устройства: кабели, радиолинии и т.д. Кабелей существует великое множество различных видов и типов: экранированные и неэкранированные витые пары, коаксиальные, опто-волоконные и т.д. Т.к. этот уровень не включён в схему, он ничего и не описывает, только указывает на среду.

Уровень 1
-- физический. Включает физические аспекты передачи двоичной информации по линии связи. Детально описывает, например, напряжения, частоты, природу передающей среды. Этому уровню вменяется в обязанность поддержание связи и приём-передача битового потока. Безошибочность желательна, но не требуется.

Уровень 2
-- канальный. Связь данных.   Обеспечивает безошибочную передачу блоков данных (называемых на этом уровне кадрами (frame)) через уровень 1, который при передаче может искажать данные. Этот уровень должен определять начало и конец кадра в битовом потоке, формировать из данных, передаваемых физическим уровнем, кадры или последовательности кадров, включать процедуру проверки наличия ошибок и их исправления. Этот уровень (и только он) оперирует такими элементами, как битовые последовательности, методы кодирования, маркеры. Он несёт ответственность за правильную передачу данных (пакетов) на участках между непосредственно связанными элементами сети. Обеспечивает управление доступом к среде передачи.

Этот уровень довольно сложен, поэтому часто он делится на подуровни, например, в стандартах IEEE канальный уровень подразделяется на два подуровня: MAC (Medium Access Control) -- управление доступом к среде и LLC (Logical Link Control) -- управление логической связью (каналом). Уровень MAC управляет доступом к сети (с передачей маркера в сетях Token Ring или распознаванием конфликтов (столкновений передач) в сетях типа Ethernet) и управлением сетью. Уровень LLC, действующий над уровнем MAC, и есть собственно тот уровень, который посылает и получает сообщения с данными.

Уровень 3
-- сетевой.   Этот уровень пользуется возможностями, предоставляемыми ему уровнем 2, для обеспечения связи любых двух точек в сети. Любых, необязательно смежных. Этот уровень осуществляет проводку сообщений по сети, которая может иметь много линий связи, или по множеству совместно работающих сетей, что требует маршрутизации, т.е. определения пути, по которому следует пересылать данные. Маршрутизация производится на этом же уровне. Выполняет обработку адресов, а также мультиплексирование и демультиплексирование.

Основной функцией программного обеспечения на этом уровне является выборка информации из источника, преобразование её в пакеты и правильная передача в точку назначения. Есть два принципиально различных способа работы сетевого уровня.

Первый -- это метод виртуальных каналов. Он состоит в том, что канал связи устанавливается при вызове (в начале сеанса (session) связи), по нему передаётся информация, и по окончании передачи канал закрывается (уничтожается). Передача пакетов происходит с сохранением исходной последовательности, даже если пакеты пересылаются по различным физическим маршрутам, т.е. виртуальный канал динамически перенаправляется. При помещении данных в этот канал не требуется указания адреса пункта назначения, т.к. он определяется во время установления связи.

Второй -- метод дейтаграмм. Дейтаграммы -- независимые пакеты, они включают всю необходимую для их пересылки информацию.

В то время, как первый метод предоставляет следующему уровню (уровню 4) надёжный канал передачи данных, свободный от искажений (ошибок) и правильно доставляющий пакеты в пункт назначения, второй метод требует от следующего уровня работы над ошибками и проверки доставки нужному адресату.

Уровень 4
-- транспортный. Регламентирует пересылку данных между процессами, выполняемыми на компьютерах сети. Завершает организацию передачи данных: контролирует на сквозной основе поток данных, проходящий по маршруту, определённому третьим уровнем: правильность передачи блоков данных, правильность доставки в нужный пункт назначения, их комплектность, сохранность, порядок следования. Собирает информацию из блоков в её прежний вид. Или же оперирует с дейтаграммами, т.е. ожидает отклика-подтверждения приёма из пункта назначения, проверяет правильность доставки и адресации, повторяет посылку дейтаграммы, если не пришёл отклик. В рамках транспортного протокола предусмотрено пять классов качества транспортировки и соответствующие процедуры управления. Этот же уровень должен включать развитую и надёжную схему адресации для обеспечения связи через множество сетей и шлюзов. Другими словами, задачей данного уровня является довести до ума передачу информации из любой точки в любую другую во всей сети.

Транспортный уровень скрывает от всех высших уровней все детали и проблемы передачи данных, характерные для используемого типа передающей сети. Таким образом, он обеспечивает стандартное взаимодействие лежащего над ним уровня с приёмом-передачей информации независимо от конкретной технической реализации этой передачи, от используемых сетей и т.д.

Уровень 5
-- сеансовый. Координирует взаимодействие связывающихся процессов (работающих программ): устанавливает их связь, оперирует с ней, восстанавливает аварийно оконченные сеансы. Он координирует не компьютеры и устройства, а процессы в сети, поддерживает их взаимодействие -- управляет сеансами связи между процессами прикладного уровня. Этот же уровень ответственен за картографию сети -- он преобразовывает адреса, удобные для людей, в реальные сетевые адреса, например, в Internet это соответствует преобразованию региональных (доменных) компьютерных имён в числовые адреса Internet, и наоборот.

Уровень 6
-- уровень представления данных. Этот уровень имеет дело с синтаксисом и семантикой передаваемой информации, т.е. здесь устанавливается взаимопонимание двух сообщающихся компьютеров относительно того, как они представляют и понимают по получении передаваемую информацию. Здесь решаются такие задачи, как перекодировка текстовой информации и изображений, сжатие и распаковка, поддержка сетевых файловых систем (NFS), абстрактных структур данных и т.д.

Уровень 7
-- прикладной. Обеспечивает интерфейс между пользователем и сетью, делает доступными для человека всевозможные услуги. На этом уровне реализуется, по крайней мере, пять прикладных служб: передача файлов, удалённый терминальный доступ, электронная передача сообщений, справочная служба и управление сетью. В конкретной реализации определяется пользователем (программистом) согласно его насущным нуждам и возможностям его кошелька, интеллекта и фантазии.

Замечание.

Следует понимать, что подавляющее большинство современных сетей в силу исторических причин лишь в общих чертах, приближённо, соответствуют эталонной модели ISO/OSI.

Рассмотрим некоторые из указанных уровней в их проекции на Internet подробнее. Не забывайте, что проекция искажена в силу несоответствия технологии internet стандарту эталонной модели -- перемешаны некоторые уровни и функции уровней .


next up previous contents
Next: Уровни работы сети Internet Up: Работа Internet: организацияструктура, Previous: Введение


Urazmetov@mx.ihep.su