Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Chast_1.doc
Скачиваний:
63
Добавлен:
10.11.2018
Размер:
6.45 Mб
Скачать

4.3. Эталонная модель взаимодействия вычислительных систем

Назначение модели OSI

Универсальный тезис о пользе стандартизации, справедливый для всех отраслей, в вычислительных сетях приобретает особое значение, посколь­ку представляет собой соединение разного оборудования, а, значит, проблема совместимости является одной из наиболее важных. Без принятия всеми произ-

191

водителями общепринятых правил построения оборудования прогресс в созда­нии сетей не возможен. Поэтому все развитие вычислительной техники в конеч­ном счете базируется на стандартах.

Для упорядочения разработки сетевых программных средств и обеспечения возможности взаимодействия создаваемых вычислительных систем в 1984 г. Международной организацией по стандартизации (International Standart Orga­nization - ISO) была предложена семиуровневая Эталонная модель взаимодейс­твия открытых систем (Open System Interconnection - OSI), которая описывает взаимосвязи в открытых системах применительно к взаимодействию вычисли­тельных сетей [13, 14,19, 29,39,40].

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

Использование открытых спецификаций позволяет создавать вычислитель­ные сети из продуктов разных производителей.

Для реальных сложных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, назваемых открытыми, этому определе­нию соответствуют только некоторые ее части.

Так, например, часто внешним пользователям дается подробное описание только внешнего интерфейса для доступа к операционной системе, но не ее ядра. Это позволяет легко переносить приложения из среды одной версии операци­онной системы в среду другой версии. Чем больше открытых спецификаций использовано при разработке системы, тем более открытой она является.

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

Если вычислительные сети построены с соблюдением принципов открытос­ти, то это позволяет обеспечить:

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

  • упрощение замены отдельных компонентов сети другими, более совершенны­ми и в дальнейшем совершенствование работы сети с минимальными затратами;

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

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

Ярким примером открытой системы является международная сеть Интер­нет, развивающаяся в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимают участие тысячи специалистов - пользователей этой сети из различных университетов, научных

192

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

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

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

Уровни модели

Разработанная модель ISO с 1984 г. стала международным стандар­том сетевых коммуникаций - основой сетевого администрирования.

Поскольку основное назначение ЛВС - распределение ресурсов ЭВМ: про­грамм, памяти, терминалов, то в соответствии с этим она как система распреде­ленных ресурсов должна базироваться на следующих основных принципах:

  • единой передающей среды;

  • единого метода управления;

  • единых протоколов;

  • гибкой модульной организации;

  • информационной и программной совместимости.

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

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

Верхние три уровня - это уровни взаимодействия с пользователями (приклад­ной, уровень представления, сеансовый), транспортный - описывает управление

] 3 К). В. Малышснко

193

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

Для описания взаимодействия программных и аппаратных эле­ментов уровней OSI используются протоколы и интерфейсы. Соот­ветствующие международные стандарты описывают, что делает уровень и как он это делает. Эти стандарты переведены и утверждены в качестве российских стандартов.

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

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

Разделяя на уровни, сетевая модель OSI делает понятной и упрощает сов­местную работу оборудования и программного обеспечения за счет ясности вза­имодействия компонентов.

В модели OSI выделяют протоколы двух типов: с установлением соединения (Connection-Oriented Network Service, CONS), при которых ЭВМ отправителя и получателя сначала определяют параметры для установленных правил обме­на, а затем передают данные и без предварительного установления соединения (Connectionless Network Service, CLNS), когда ЭВМ сразу начинают обмен дан­ными без предварительного установления соединения. Протоколы второго типа называют еще дейтаграммными протоколами.

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

Набор протоколов для организации взаимодействия называют стеком ком­муникационных протоколов.

Интерфейсы описывают процедуры (правила) взаимодействия объек­тов смежных уровней и форматы информации, передаваемой между этими объектами.

Примером одного из интерфейсов является интерфейс подключения пользователей к сетям передачи данных Х.25. Он описан в соответствующих спецификациях, в которых определен порядок и правила взаимодействия оконечного оборудования обработки данных DTE (Data Terminal Equipment) и оконечного оборудования цепей передачи данных DCE (Data Circuit-ter­minating Equipment). Роль DTE выполняет модем или цифровое устройс-

194

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

195

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

Функции уровней

Рассмотрим функции, реализуемые на различных уровнях модели.

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

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

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

Здесь же могут выполняться шифрование и дешифрование данных, благо­даря чему секретность обмена данными обеспечивается сразу для всех приклад­ных служб. Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP в сети Интернет при совершении платежей с помощью банковских карт [45].

Одна из задач этого уровня - преобразование данных в формат, используе­мый конкретной информационной системой, поскольку в ЛВС могут использо­ваться разные операционные системы (DOS, UNIX, Windows), имеющие свою файловую структуру и форматы представления данных.

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

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

196

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

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

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

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

Модель OSI определяет пять классов сервиса, предоставляемых транспорт­ным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладны­ми протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов. Выбор варианта сервиса транспортного уровня опреде­ляется, с одной стороны, степенью надежности решения задачи приложениями и протоколами более высоких уровней, чем транспортный; с другой стороны, надежностью системы транспортировки данных в сети, обеспечиваемой уровня­ми, расположенными ниже транспортного, - сетевым, канальным и физическим. Так, если качество каналов передачи связи очень высокое и вероятность возник­новения ошибок, не обнаруженных протоколами более низких уровней, невели­ка, то разумно воспользоваться одним из простых сервисов транспортного уров­ня, не обремененного многочисленными проверками, квотированием и другими приемами повышения надежности. Если же транспортные средства нижних уровней изначально очень ненадежны, то целесообразно обратиться к наиболее развитому сервису транспортного уровня, который предполагает использование максимума способов для обнаружения и устранения ошибок с помощью предва­рительного установления логического соединения, контроля доставки сообще­ний по контрольным суммам и циклической нумерации пакетов, установления тайм-аутов доставки и т.п.

Транспортный уровень допускает мультиплексировать передаваемые сооб­щения или соединения.

Мультиплексирование сообщений позволяет передавать сообщения одно­временно по нескольким линиям связи.

197

Мультиплексирование соединений обеспечивает передачу в одном инфор­мационном пакете нескольких сообщений для различных соединений.

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

При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части - номе­ра сети и младшей - номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса. Поэтому понятие «сеть» на этом уровне в отличие от ранее изложенного можно рассматривать как совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.

На сетевом уровне определяются два вида протоколов. Первый вид - сете­вые протоколы (routed protocols). Они реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Однако часто к сетевому уровню относят и другой вид протоко­лов, называемых протоколами обмена маршрутной информацией, или протоко­лами маршрутизации (routing protocols). С их помощью маршрутизаторы соби­рают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов.

На сетевом уровне для передачи пакетов используют одну из двух процедур:

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

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

Канальный (второй) уровень описывает процесс передачи данных по выделенному каналу с учетом контроля передаваемых данных и их обрамления

198

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

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

Физический (первый) уровень осуществляет все необходимые опера­ции в канале связи: управление аппаратурой передачи данных и подключенны­ми к ней каналами связи.

Он включает правила преобразования бит в сигналы для исходящих сообще­ний и сигналов в биты - для входящих. На этом уровне нет ни пакетов, ни кад­ров - только биты, которые упорядочиваются для передачи по сети. Физический уровень управляет интерфейсом между ЭВМ и каналом связи с сетью, опреде­ляет для драйвера и сетевого интерфейса, что должно быть послано в сеть.

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

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

Примером протокола физического уровня может служить спецификация 10Base-T технологии Ethernet, которая определяет в качестве используемого кабеля неэкранированную витую пару категории 3 с волновым сопротивлением 100 Ом, разъем RJ-45, максимальную длину физического сегмента 100 м, ман­честерский код для представления данных в кабеле, а также некоторые другие характеристики среды и электрических сигналов.

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

199

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

Структура кадров и дейтаграмм

На каждом уровне данные перемещаются и обрабатываются в опре­деленных формах - единицах обмена. Изложенный выше материал может быть представлен еще в более простом виде (табл. 4.5).

Таблица 4.5

Уровень

Ключевое слово

Данные

Ответственность

Прикладной

Разделение

Сообщение

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

Представи­тельский

Формати­рование

Пакет

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

Сеансовый

Диалог

Пакет

Управление сессией. Диалог. Контроль ошибок. Обработка транзакций. Поддержка вызовов удаленных процедур RPC. ЭВМ пользователя взаимодействует с ЛВС (РВС или ГВС). Протоколы этих уровней проверяют права пользователя и передают документ к протоколам следующего уровня

Транспорт­ный

Надеж­ность

Сегмент, дейтаграм­ма, пакет

Надежность передачи. Гарантированная доставка. Мультиплексирование сессий верх­него уровня.

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

Сетевой

Дейта­грамма

Дейтаграм­ма

Маршрутизация логических адресов. Созда­ние и ведение таблиц маршрутизации. Фраг­ментация и сборка данных. Не ориентирован­ная на соединение и ненадежная доставка. Определяет маршрут движения данных в сети, определяет индивидуальные адреса подготовленных на верхнем уровне пакетов

200

Уровень

Ключевое слово

Данные

Ответственность

Канальный

Кадр

Кадр, пакет

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

Физический

Биты

Биты

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

Чтобы отправить информацию, надо указать адреса получателя и отправи­теля. В вычислительных системах, где обмен данными ведется на основе про­токолов сети Интернет, - это так называемые LAN-адреса (физические адреса) и IP-адреса [12,40].

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

Второй - присваивается в сети Интернет каждому оконечному устройству (им может быть порт, маршрутизатор, сервер, рабочая станция и т.п.) и исполь­зуется при обработке на сетевом уровне.

Маршрутизаторы сети Интернет перемещают сообщение в соответствии с IP-адресами, указанными в дейтаграмме.

Когда дейтаграмма достигает ЛВС, в которой находится ЭВМ-получатель, то с помощью специального протокола определяется соответствующий IP-адре­су физический адрес (LAN-адрес) получателя. После этого по сети производится широковещательная рассылка сообщения для всех сетевых адаптеров Л ВС. Полу­чив сообщение, адаптер извлекает из кадра поле с LAN-адресом и сравнивает его со своим. При совпадении поступившее сообщение заносится в буфер адаптера.

Во всех Ethernet-технологиях LAN-адреса заносятся в специальные поля Ethernet-кадра (рис. 4.22). Под этот адрес отводится 6 байт. В документации принято задавать LAN-адрес в 16-тиричном коде. Например, 99-BA-4M-F9-21.

Преамбула (8 байт) содержит чередующийся набор 0 и 1 и предназначена для настройки приемного узла на получение информативной части кадра. После преамбулы следуют поля адресов получателя и отправителя (по 6 байт). Поле типа содержит код тина (вариант) сетевого протокола, который используется для передачи данных. Поле данных содержит IP-дейтаграмму (рис. 4.23). Поле может иметь длину от 46 до 1500 байт. Если дейтаграмма имеет длину больше 1500 байт, то она представляется в виде нескольких частей.

201

В служебной части дейтаграммы находится несколько полей, в которых указываются длина и тип дейтаграммы, версия протокола IP, время жизни, тип протокола канального уровня для обработки данных дейтаграммы, контрольная сумма и др. Каждый IP-адрес занимает 4 байта (адрес принято указывать в виде 4 десятичных чисел через точку, каждый байт - число. Например, 240.01.0.12). Поле данных содержит собственно информацию, которую надо доставить полу­чателю (или указание на нее).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]