Автор работы: Пользователь скрыл имя, 20 Мая 2012 в 21:25, реферат
Модель OSI показана на рис. 1.14 (без физического носителя). Эта модель основана на предложении Международной организации по стандартизации (International Organization for Standardization, ISO) как первый шаг к международной стандартизации протоколов, используемых в различных уровнях. Модель называется ISO OSI (Open System Interconnection) Reference Model (эталонная модель взаимодействия открытых систем ISO), поскольку она связывает открытые системы, то есть системы, открытые для связи с другими системами.
Модель OSI показана на рис. 1.14 (без физического
носителя). Эта модель основана на предложении
Международной организации по стандартизации
(International Organization for Standardization, ISO) как первый
шаг к международной
Рис. 1.14. Эталонная модель OSI |
Модель OSI имеет семь уровней. Появление именно семи уровней было обусловлено следующими принципами.
Ниже мы обсудим каждый уровень модели, начиная с нижнего уровня. Обратите внимание, что модель OSI не является сетевой архитектурой, поскольку она не описывает службы и протоколы, используемые на каждом уровне. Она просто определяет, что должен делать каждый уровень. Тем не менее ISO также разработала стандарты для каждого уровня, хотя эти стандарты не входят в саму эталонную модель. Каждый из них был опубликован как отдельный международный стандарт.
Физический уровень занимается передачей необработанных ("сырых") двоичных разрядов по каналу связи. При разработке сети необходимо убедиться, что когда одна сторона передает единицу, то принимающая сторона получает также единицу, а не ноль. Типичным вопросом здесь является, какое напряжение должно использоваться для отображения единицы, а какое для нуля; сколько микросекунд длится бит; может ли передача производиться одновременно в двух направлениях; как устанавливается начальная связь и как она прекращается, когда обе стороны закончили свои задачи; из какого количества проводов должен состоять кабель и какова функция каждого провода. Вопросы разработки в основном связаны с механическими, электрическими и процедурными интерфейсами, а также с физическим носителем, лежащим ниже физического уровня.
Основная задача уровня передачи данных - преобразовать способность передачи "сырых" данных физического уровня в надежную линию связи, свободную от необнаруженных ошибок с точки зрения вышестоящего сетевого уровня. Уровень выполняет эту задачу при помощи разбиения входных данных на кадры, обычно размером от нескольких сот до нескольких тысяч байтов. Кадры данных передаются последовательно с обработкой кадров подтверждения, посылаемых обратно получателем. Поскольку физический уровень просто принимает и передает поток бит, невзирая на их значение или структуру, задача создания и распознавания границ кадров возложена на уровень передачи данных. Эта задача может быть выполнена при помощи добавления особых последовательностей битов к началу и концу кадра. Если подобные последовательности могут встречаться в данных, то следует предпринять специальные меры, чтобы гарантировать, что эти данные не были неправильно интерпретированы как разделители кадров. Обычно применяются специальные коды, гарантирующие, что такие последовательности в перекодированных данных не встретятся.
Шум на линии может полностью разрушить кадр. В данном случае уровень передачи данных может переслать кадр повторно. Однако многократные посылки одного и того же кадра могут привести к размножению кадров. Кадр может быть послан повторно, например, в случае потери кадра подтверждения из-за шумов. Все проблемы, связанные с поврежденными, потерянными и дублированными кадрами, уровень передачи данных должен решать самостоятельно. Уровень передачи данных может предоставлять сетевому уровню услуги различного класса, с разным качеством и по разной цене.
Еще одна проблема, возникающая на уровне передачи данных (а также и на большей части более высоких уровней), - как не допустить ситуации, когда быстрый передатчик заваливает приемник данными. Должен быть предусмотрен некий механизм регуляции, который информировал бы передатчик о наличии свободного места в буфере приемника на текущий момент. Часто подобное управление объединяется с механизмом обработки ошибок.
Если линия может
В широковещательных сетях
Сетевой уровень занимается управлением операциями подсети. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться. Кроме того, они могут задаваться в начале каждого соединения, например терминальной сессии. Наконец, они могут быть в высокой степени динамическими, то есть вычисляемыми заново для каждого пакета, с учетом текущей загруженности сети.
Если в подсети одновременно присутствует слишком большое количество пакетов, то они могут закрыть дорогу друг другу, образуя заторы в узких местах. Недопущение подобной закупорки также является задачей сетевого уровня.
Поскольку использование подсетей
обычно бывает не бесплатным, в сетевой
уровень также встраиваются различные
функции учета. Как минимум, программа
должна учитывать количество пакетов
или бит, переданных каждому клиенту,
чтобы вычислить сумму, которую
он должен будет заплатить оператору
подсети за ее использование. При
пересечении пакетом
При путешествии пакета из одной сети в другую также может возникнуть ряд проблем. Так, способ адресации, применяемый в одной сети, может отличаться от принятого в другой; могут различаться протоколы и т. д. Именно сетевой уровень должен разрешать все эти проблемы, позволяя объединять разнородные сети.
В широковещательных сетях
Основная функция транспортного уровня - принять данные от сеансового уровня, разбить их при необходимости на небольшие части, передать их сетевому уровню и гарантировать, что эти части в правильном виде прибудут по назначению Кроме того, все это должно быть сделано эффективно и таким образом, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии.
Обычно транспортный уровень создает
отдельное сетевое соединение для
каждого транспортного
Транспортный уровень также определяет тип службы, предоставляемой сеансовому уровню и в конечном счете пользователям сети. Наиболее популярной разновидностью транспортного соединения является защищенный от ошибок канал между двумя точками, поставляющий сообщения или байты в том порядке, в каком они были отправлены. Однако транспортный уровень может предоставлять и другие типы служб, например пересылку отдельных сообщений, без гарантии соблюдения порядка их доставки, или одновременную отправку сообщения различным адресатам по принципу широковещания. Тип службы определяется при установке соединения.
Транспортный уровень является настоящим сквозным уровнем, то есть доставляющим сообщения от источника до адресата. Другими словами, программа на машине-источнике поддерживает связь с подобной программой на другой машине при помощи заголовков сообщений и управляющих сообщений. На более низких уровнях для поддержки этого соединения устанавливаются соединения между всеми соседними машинами, через которые проходит маршрут сообщений. Различие между уровнями с 1-го по 3-й, действующих по принципу звеньев цепи, и уровнями с 4-го по 7-й, являющимися сквозными, проиллюстрировано на рис. 1.14.
Большая часть хостов является многозадачными, это означает, что каждый хост может одновременно поддерживать несколько входящих и несколько исходящих соединений. При этом необходимо каким-то образом определять, к какому соединению относится каждое сообщение. Одним из возможных мест размещения этой информации является транспортный заголовок.
Помимо объединения нескольких потоков сообщений в один канал, транспортный уровень может также следить за созданием и удалением сетевых соединений. Для этого требуется механизм именований, так чтобы процесс на одной машине имел способ описать, с кем он хочет общаться. Кроме того, должен существовать способ управления потоком информации, чтобы быстрый хост не затопил потоком информации медленного собеседника. Такой механизм, называемыйуправлением потоком, играет ключевую роль в транспортном уровне (а также и на других уровнях). Управление потоками между хостами отличается от управления потоками между маршрутизаторами, хотя позднее мы увидим, что в обоих случаях применимы сходные принципы.
Сеансовый уровень позволяет
Одной из служб, предоставляемых сеансовым уровнем, является управление маркерами. Для некоторых протоколов бывает существенно, чтобы две стороны не пытались выполнить одновременно одну и ту же операцию. Для управления подобной активностью сеансовый уровень выпускает маркеры, которыми обмениваются участники сети. Критичную операцию может выполнить только компьютер, владеющий маркером.
Еще одной службой, предоставляемой сеансовым уровнем, является синхронизация. Представим себе проблему, возникающую при передаче длинного файла, для полного переноса которого требуется два часа, при этом приблизительно раз в час по какой-нибудь причине связь прерывается. При прерывании связи передача файла прекращается и начинается снова с начала файла, а примерно через час прерывается снова. Для устранения этой проблемы сеансовый уровень сохраняет контрольные точки потока данных, так что после восстановления связи передача возобновляется с момента последней контрольной точки, то есть уже успешно переданные блоки данных повторно не передаются.
В отличие от более низких уровней, задача которых - достоверная передача бит и байтов,уровень представления занимается по большей части синтаксисом и семантикой передаваемой информации.
Типичный пример служб уровня представления
- кодирование передаваемых данных
определенным стандартным образом.
Большинство программ обменивается
не двоичными блоками данных, а
именами людей, датами, денежными
суммами и счетами на товары. Подобная
информация состоит из текстовых
строк, целых чисел, чисел с плавающей
точкой и структур данных, состоящих
из более простых элементов. На различных
компьютерах могут
Прикладной уровень содержит набор популярных протоколов. Так, в мире существуют сотни несовместимых друг с другом типов терминалов. Представьте себе проблему полноэкранного текстового редактора, который должен работать по сети одновременно с большим количеством различных терминалов, у каждого из которых различная разметка экрана, управляющие ESC-последовательности для вставки и удаления текста, перемещения курсора и т. д.