Модели взаимодействия открытых систем



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

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

В 1984 году Международной организацией по стандартам была предложена семиуровневая модель взаимодействия систем передачи данных. По сути модель OSI/ISO (Open System Interconnection/ International Organization for Standardization) содержит набор стандартов, гарантирующих более высокую степень совместимости решений различных поставщиков.

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

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

 

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

· повторитель (ретранслятор) – устройство, усиливыающее сигнал для передачи на более дальнее расстояние;

· концентратор (hub) – устройство, усиливающее и в некоторых модификациях восстанавливающее сигнал для передачи на более дальнее расстояние. Отличительной особенностью концентратора от повторителя является также наличие более двух портов;

· медиаконвертор – устройство, преобразующее сигнал на границе двух сред (например, оптических и медных проводов).

 

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

· коммутатор (switch),

· мост (bridge).

Оба перечисленные выше устройства предназначены для соединения сегментов сети. Сегмент сети – участок сети, устройства которого делят общую полосу пропускания.

 

Сетевой уровень обеспечивает связь и выбор пути между двумя конечными устройствами, которые могут находиться в сетях, географически удаленных друг от друга. Примером может служить маршрутизатор (router) – устройство, работающее на этом уровне и предназначенное для пересылки пакетов данных между различными сетями.

 

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

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

· протокол управления передачей (TCP – Transmission Control Protocol),

· протокол пользовательских датаграмм (UDP – User Datagram Protocol).

 

На сеансовом уровне выполняется создание, управление и завершение сеансов между двумя конечными узлами при обмене данными, осуществляется синхронизация диалога между уровнями представлений двух узлов и управлением обменом данными между ними. Примером протокола, работающего на данном уровне является протокол проверки подлинности (PAP – Password Auhtentication Protocol)

Уровень представлений гарантирует, что сведения, переданные на прикладном уровне одной системы, могут быть корректно распознаны на прикладном уровне другой системы. То есть информацию, полученную с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям.
Пример: видеокодек H.264, аудиокодек G.726 и др.

Уровень приложений предоставляет сетевые услуги приложениям. Примерами протоколов, работающих на данном уровне, являются

· протокол передачи гипертекста (HTTP – Hyper Text Transfer Protocol),

· протокол почтовых сообщений (POP – Post Office Protocol),

· простой протокол передачи почты (SMTP – Simple Mail Transfer Protocol),

· протокол передачи файлов (FTP – Fail Transfer Protocol).

Обмен данными между узлами

При обмене данными между узлами протоколы на каждом уровне обмениваются пакетами данных (PDU – Packet Data Unit). Общий вид подобных пакетов данных представлен на рис. 11. Стоит отметить, что добавление хвостовика необязательно, и он присутствует не во всех протоколах.

Рис. 11. Общий вид pdu

 

На канальном, сетевом и транспортном уровнях данные пакеты получили свои названия (рис. 12). Соблюдая терминологию, появляется представление о каком уровне модели взаимодействия открытых систем идет речь.

Рис. 12. Обмен данными между узлами

 

В заголовке и хвостовике содержится служенная информация, позволяющая реализовать функционал каждого из уровней модели взаимодействия открытых систем. За содержимое и правильную интерпретацию служебной информации отвечают протоколы. Таким образом, при передаче данных на передающей стороне данные, передаваемые приложением, спускаясь вниз по всем уровням модели взаимодействия открытых систем, «обрастают» служебной информацией на каждом уровне (рис. 13). Данный процесс называется инкапсуляцией. Таким образом, данные на каждом уровне модели содержат не только данные, передаваемые приложением, но и служебную информацию (заголовок и хвостовик), сформированную на вышележащем уровне. Поэтому в поле «Данные» на канальном уровне будут в общем случае располагаться данные, передаваемые приложением, заголовки и хвостовики пяти вышележащих уровней (рис. 14). Но при этом для канального уровня эти заголовки и хвостовики будут ничем иным как данными, которые необходимо передать по каналу связи и интерпретировать их канальный уровень будет не в состоянии, потому что каждый уровень взаимодействует с заголовком и хвостовиком только своего уровня.

Рис. 13. Инкапсуляция данных на передающей стороне и деинкапсуляция данных на принимающей стороне

 

Рис. 14. Кадр

 

Процесс, обратный инкапсуляции и происходящий на принимающей стороне, называется деинкапсуляцией и представляет собой процесс отбрасывания заголовка и хвостовика текущего уровня и предоставления содержимого поля «Данные» вышележащему уровню. Перед отбрасыванием служебной информации в виде заголовка и хвостовика на текущем уровне происходит анализ содержимого служебной информации. На этапе анализа, например, выявляется адресат данного pdu. Если адрес назначения не совпадает с адресом узла, получившего данное pdu на канальном уровне, принимается решение об уничтожении кадра, и дальнейшая деинкапсуляция не происходит. Если, например, подобное выявляется на сетевом уровне – дальнейшая деинкапсуляция также не происходит, но пакет не уничтожается, а в соответствии с функционалом, предоставляющимся сетевым уровнем происходит поиск маршрута, по которому необходимо отправить данный пакет конечному адресату.

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

Стек протоколов TCP/IP

Самой распространенной на данный момент моделью взаимодействия открытых систем является стек протоколов TCP/IP, получивший название от наиболее важных протоколов семейства: TCP и IP (Internet Protocol, межсетевой протокол). Данная модель была разработана по заказу Министерства обороны США, поэтому данную модель также называют моделью DoD (Department of Defence). Структура стека, так же как и модель OSI/ISO содержит многоуровневую структуру и представлена на рис. 15..

Рис. 15. Стек протоколов TCP/IP

 

В стеке протоколов TCP/IP реализован тот же функционал, что и в модели OSI/ISO, различие только в уровнях. Сравнение структур модели OSI/ISO и стека протоколов TCP/IP проиллюстрировано на рис. 16.

Рис. 16. Сравнение модели OSI/ISO и стека протоколов TCP/IP

 

Канальный уровень стека протоколов TCP/IP обеспечивает функционал физического и канального уровней модели OSI/ISO. Сетевой и транспортный уровни полностью идентичны в обеих моделях взаимодействия открытых систем. Прикладной уровень предоставляет функционал сеансового уровня и уровней представлений и приложений модели OSI/ISO.

Обмен данными в стеке TCP/IP идентичен обмену данными в модели OSI/ISO: так же формируются pdu на каждом уровне, так же происходит инкапсуляция на передающей стороне и деинкапсуляция на принимающей стороне.


Дата добавления: 2018-06-01; просмотров: 680; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!