Структура модели OSI. Уровневые принципы взаимодействия открытых систем.


Для описания способов коммуникации между сетевыми устройствами организацией ISO (International Standards Organization) была разработана модель взаимосвязи открытых систем — OSI (Open Systems Interconnection) (70-е годы, полное описание занимает более 1000 стр.). Она основана на уровневых протоколах, что позволяет обеспечить:

· логическую декомпозицию сложной сети на обозримые части — уровни; · стандартные интерфейсы между сетевыми функциями;

· симметрию в отношении функций, реализуемых в каждом узле сети (аналогичность функций одного уровня в каждом узле сети);

· общий язык для взаимодействия разработчиков различных частей сети.

Функции любого узла сети разбиваются на уровни, для конечных систем их семь (рис. 1).

Рис. 1. Эталонная модель взаимодействия открытых систем ISO/OSI.

Внутри каждого узла взаимодействие между уровнями идет по вертикали. Взаимодействие между двумя узлами логически происходит по горизонтали, между соответствующими уровнями. Реально же из-за отсутствия непосредственных горизонтальных связей производится спуск до нижнего уровня в источнике, связь через физическую среду и подъем до соответствующего уровня в приемнике информации. В промежуточных устройствах подъем идет до того уровня, который доступен «интеллекту» устройства, — так, например, имеются коммутаторы второго и третьего уровней. Каждый уровень обеспечивает свой набор сервисных функций (сервисов). Уровень, с которого посылается запрос, и симметричный ему уровень в отвечающей системе формируют свои блоки данных. Данные снабжаются служебной информацией (заголовком) данного уровня и спускаются на уровень ниже, пользуясь сервисами соответствующего уровня. На этом уровне к полученной информации также присоединяется служебная информация, и так происходит спуск до самого нижнего уровня, снабжаемый «обрастанием» заголовками. Наконец, по нижнему уровню вся эта конструкция достигает получателя, где по мере подъема вверх освобождается от служебной информации соответствующего уровня. В итоге сообщение, посланное источником, в «чистом виде» достигает соответствующего уровня системы-получателя. Служебная информация управляет процессом передачи и служит для контроля его контроля и достоверности. В случае возникновения проблем может быть сделана попытка их удалить на том уровне, где они обнаружены. Если уровень не может решить проблему, он сообщает о ней на вызвавший его вышестоящий уровень.

Рассмотрим уровни модели OSI сверху вниз.

7. Прикладной уровень (application layer) — высший уровень модели, который обеспечивает пользовательской прикладной программе доступ к сетевым ресурсам.

6. Уровень представления данных (presentation layer) обеспечивает преобразование кодов (например, побайтная перекодировка из KOI8-R в Windows 1251), форматов файлов, сжатие и распаковку, шифрование и дешифрование данных.

5. Сеансовый уровень (session layer) обеспечивает инициацию и завершение сеанса — диалога между устройствами, синхронизацию и последовательность пакетов в диалоге, надежность соединения до конца сеанса (обработку ошибок, повторные передачи).

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

3. Сетевой уровень (network layer) форматирует данные транспортного уровня и снабжает их информацией, необходимой для маршрутизации (нахождения пути к получателю). Уровень отвечает за адресацию (трансляцию физических и сетевых адресов, обеспечение межсетевого взаимодействия); поиск пути от источника к получателю или межу двумя промежуточными устройствами; установление и обслуживание логической связи между узлами для установления связи как ориентированной, так и не ориентированной на соединение. Форматирование данных осуществляется в соответствии с коммуникационной технологией (локальные сети, глобальные сети). Примеры протоколов сетевого уровня:

· ARP (Address Resolution Protocol) — взаимное преобразование аппаратных и сетевых адресов.

· IP (Internet Protocol) — протокол доставки дейтаграмм, основа стека TCP/IP.

· IPX (Internetwork Packet Exchange) — базовый протокол NetWare, отвечающий за адресацию и маршрутизацию пакетов, обеспечивающий сервис для SPX.

2. Канальный уровень (data link layer), называемый также уровнем звена данных. Обеспечивает формирование фреймов (frames) — кадров, передаваемых через физический уровень, контроль ошибок и управление потоком данных (data flow control). Канальный уровень призван скрыть от вышестоящих подробности технической реализации сети (для локальных сетей, например, сетевой уровень не «увидит» различий между Ethernet, Token Ring,ARCNet, FDDI — Fiber Distributed Data Interface).

IEEE в своей сетевой модели 802 ввел дополнительное деление канального уровня на 2 подуровня (sublayers):

· Подуровень LLC (Logical-Link Control — управление логической связью) является стандартным (IEEE 802.2) интерфейсом с сетевым уровнем, независимым от сетевой технологии.

· Подуровень MAC (Media Access Control — управление доступом к среде) осуществляет доступ к уровню физического кодирования и передачи сигналов. Применительно к технологии Ethernet MAC-уровень передатчика укладывает данные пришедшие с LLC, в кадры, пригодные для передачи. Далее, дожидаясь освобождения канала (среды передачи), он передает кадр на физический уровень и следит за результатом работы физического уровня. Если кадр передан успешно (коллизий нет), он сообщает об этом LLC-подуровню. На приемной стороне MAC-подуровень принимает кадр, проверяет его на отсутствие ошибок и, освободив его от служебной информации своего уровня, передает на LLC.

1. Физический уровень (physical layer) — нижний уровень, обеспечивающий физическое кодирование бит кадра в электрические (оптические) сигналы и передачу их по линиям связи. Определяет тип кабелей и разъемов, назначение контактов и формат физических сигналов.

Сетезависимые и сетенезависимые уровни. Функции всех уровней модели OSI могут быть отнесены к одной из двух групп: либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями.

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

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

Транспортный уровень является промежуточным, он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, не зависящие от технических средств непосредственной транспортировки сообщений. Компьютер с установленной на нем сетевой ОС взаимодействует с другим компьютером с помощью протоколов всех семи уровней. Это взаимодействие компьютеры осуществляют опосредовано через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа коммуникационное устройство может работать либо только на физическом уровне (повторитель), либо на физическом и канальном (мост), либо на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор).

В модели OSI различаются два основных типа протоколов. В протоколах с установлением соединения (connection-oriented) перед обменом данными отправитель и получатель должны сначала установить соединение и, возможно, выбрать некоторые параметры протокола, которые они будут использовать при обмене данными. После завершения диалога они должны разорвать это соединение.

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

Модель OSI подразумевает открытость средств взаимодействия устройств, связанных в вычислительную сеть. Здесь под открытой системой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами с использованием стандартных правил, определяющих формат, содержание и значение принимаемых и отправляемых сообщений.

Это дает следующие преимущества:

- возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;

- возможность безболезненной замены отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами;

- возможность легкого сопряжения одной сети с другой;

- простота освоения и обслуживания сети.

Примером открытой системы является международная сеть Интернет.

Таблица. Соответствие стеков протоколов модели OSI