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

Автор работы: Пользователь скрыл имя, 20 Мая 2012 в 21:25, реферат

Краткое описание

Модель OSI показана на рис. 1.14 (без физического носителя). Эта модель основана на предложении Международной организации по стандартизации (International Organization for Standardization, ISO) как первый шаг к международной стандартизации протоколов, используемых в различных уровнях. Модель называется ISO OSI (Open System Interconnection) Reference Model (эталонная модель взаимодействия открытых систем ISO), поскольку она связывает открытые системы, то есть системы, открытые для связи с другими системами.

Прикрепленные файлы: 1 файл

доклад по КСИСу.docx

— 131.12 Кб (Скачать документ)

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

Модель OSI показана на рис. 1.14 (без физического  носителя). Эта модель основана на предложении  Международной организации по стандартизации (International Organization for Standardization, ISO) как первый шаг к международной стандартизации протоколов, используемых в различных  уровнях. Модель называется ISO OSI (Open System Interconnection) Reference Model (эталонная модель взаимодействия открытых систем ISO), поскольку  она связывает открытые системы, то есть системы, открытые для связи  с другими системами. Для краткости  мы будем называть эту модель просто модель OSI.

Рис. 1.14. Эталонная модель OSI


Модель OSI имеет семь уровней. Появление  именно семи уровней было обусловлено  следующими принципами.

  1. Уровень должен создаваться по мере необходимости отдельного уровня абстракции.
  2. Каждый уровень должен выполнять строго определенную функцию.
  3. Выбор функций для каждого уровня должен выбираться с учетом создания стандартизированных международных протоколов.
  4. Границы между уровнями должны выбираться так, чтобы поток данных между интерфейсами был минимальным.
  5. Количество уровней должно быть достаточно большим, чтобы различные функции не объединялись в одном уровне без необходимости, но не слишком высоким, чтобы архитектура не становилась громоздкой.

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

Физический уровень

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

Уровень передачи данных

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

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

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

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

В широковещательных сетях существует еще одна проблема уровня передачи данных: как управлять доступом к  совместно используемому каналу. Эта проблема разрешается введением  специального дополнительного подуровня  уровня передачи данных - подуровня  доступа к носителю

Сетевой уровень

Сетевой уровень занимается управлением операциями подсети. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться. Кроме того, они могут задаваться в начале каждого соединения, например терминальной сессии. Наконец, они могут быть в высокой степени динамическими, то есть вычисляемыми заново для каждого пакета, с учетом текущей загруженности сети.

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

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

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

В широковещательных сетях проблема маршрутизации очень проста, поэтому  в них сетевой уровень очень  примитивный или вообще отсутствует.

Транспортный уровень

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

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

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

Транспортный уровень является настоящим сквозным уровнем, то есть доставляющим сообщения от источника  до адресата. Другими словами, программа  на машине-источнике поддерживает связь  с подобной программой на другой машине при помощи заголовков сообщений  и управляющих сообщений. На более  низких уровнях для поддержки  этого соединения устанавливаются  соединения между всеми соседними  машинами, через которые проходит маршрут сообщений. Различие между  уровнями с 1-го по 3-й, действующих по принципу звеньев цепи, и уровнями с 4-го по 7-й, являющимися сквозными, проиллюстрировано на рис. 1.14.

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

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

Сеансовый уровень

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

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

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

Уровень представления

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

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

Прикладной уровень

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

Информация о работе Эталонная модель OSI