Модель взаимодействия открытых систем. Базовая эталонная модель взаимодействия открытых систем

Общие положения. Эталонная модель взаимодействия открытых систем (ЭМ ВОС, модель OSI Open Systems Interconnection) была разработана Международной орга­низацией по стандартизации (МОС, OSI) и принята в виде стандарта в 1983 г. Она поддержана Международным консультативным комитетом по телефонии и телеграфии (МККТТ), ныне Международным союзом электросвязи, секция Телекоммуникаций (МСЭ-Т, ITU-T) Рекомендаци­ей Х. 200. Эта модель является основополагающей при рассмотрении любых вопросов, связанных с проектированием, строительством и эксп­луатацией систем связи. Она следует принципам АОС и имеет уровневую структуру.

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

Стандартом № 7498 предусмотрена семиуровневая организация от­крытых систем. Каждый уровень имеет свое название и номер от У1 до У7 , изменяющийся снизу вверх (рис. 1.13).

Рис. 1.13. Семиуровневая организация от­крытых систем

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

Таблица 1.1

Классификация уровней открытых систем

Номер уровня

Международное наименование уровня

Сокращение

Российское

наименование уровня

Сокращение

Прикладной

Представительный

Сеансовый

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

Канальный

Физический

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

Каждую открытую систему можно структурировать по некоторым при­знакам (рис. 1.14). С одной стороны, условно все уровни можно разбить на две группы: уровни сети связи (У1 –У4) и уровни пользователя (У5 –У7) .Первой группой уровней обеспечивается передача сообщений средства­ми электрической связи по сети. Вторая группа уровней составляет ин­формационное обеспечение передачи (приема) сообщений с точки зре­ния их содержания, формы и моментов представления.

Рис. 1.14. Структурирование открытой системы

С другой стороны, на двух верхних уровнях (У7, У6) происходят процессы подготовки сообщений к передаче (информационные про­цедуры), на двух последующих (У5, У4) - формирование процес­са передачи и "вхождение" сообщения в сеть связи (транспортные процедуры), а на трех нижних (У3, У2, У1) - выбор маршрута передачи,преобразование сообщений в электрические сигналы и обратно, контроль правильности передачи (сетевые процедуры).

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

К первому шагу относятся следующие понятия:

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

– подсистема – часть системы, выполняющая определенные функции в общей стратегии работы всей системы;

– уровень логическое понятие, определяющее порядок следования подсистем в системе.

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

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

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

Второй шаг стандартизации включает в себя следующие понятия:

– процессы (механизмы, функции) – набор определенных логических процедур, специфичных для данной подсистемы, выполняемых ее активными элементами;

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

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

И, наконец, третий шаг стандартизации содержит следующие понятия:

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

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

В противовес понятиям "подсистема" и "уровень", являющимися раз­деляющими, понятия "протокол" и "интерфейс" объединяющие, интег­рируют работу отдельных подсистем разных ОС; позволяя им осуще­ствить взаимосвязь на логическом и физическом уровнях.

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

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

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

Услуга уровню У2 – наличие физического канала на звене сети, воз­можность передачи информационного сигнала по нему.

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

Услуга уровню У3 – наличие качественного канала передачи данных на звене, гарантия обеспечения требуемой точности передачи.

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

Услуга уровню У4 – предоставление возможности организации оп­тимального маршрута, обеспечение заданного качества обслуживания пользователей, возможность управления потоками и нагрузкой.

Транспортный уровень – контроль качества обмена информацией между ОС на выбранном маршруте, контроль за соблюдением параметров соединения (обязательств перед пользователем), контроль передачи «из конца в конец».

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

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

Услуга уровню У6 – выбор временного отрезка для организации об­мена, контроль за началом и окончанием сеанса, Представительный уровень - определяет способ превращения ин­формации, представленной в произвольном виде, в стандартный: пер­вичное кодирование информации.

Услуга уровню У7 – возможность представления информации в про­извольном виде.

Прикладной уровень – определяет способ взаимодействия с прикладным процессом, предоставление прикладному процессу набора служб сети.

Услуга пользователю (прикладному процессу) – возможность выбора той или иной службы сети и возможность пользоваться услугами си­стемы связи.


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

МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ ОТКРЫТЫХ СИСТЕМ

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

Рисунок 1. Семиуровневая модель

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

Рассмотрим подробнее каждый из семи уровней и их применение.

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

Физический уровень описывает физические свойства (например, электромеханические характеристики) среды и сигналов, переносящих информацию. Это физические характеристики кабелей и разъемов, уровни напряжений и электрического сопротивления и.т.д., в том числе, например, спецификация кабеля «неэкранированная витая пара» (unshielded twisted pair , UTP )

Канальный уровень

Канальный уровень обеспечивает перенос данных по физической среде. Он поделен на два подуровня: управления логическим каналом (logical link control , LLC ) и управления доступом к среде (media access control , MAC ). Такое деление позволяет одному уровню LLC использовать различные реализации уровня MAC . Уровень MAC работает с применяемым в Ethernet и Token -Ring физическими адресами, которые «вшиты» в сетевые адаптеры их производителями. Следует различать физические и логические (например, IP ) адреса. С последним работает сетевой уровень.

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

В отличии от канального уровня, имеющего дело с физическими адресами, сетевой уровень работает с логическими адресами. Он обеспечивает подключение и маршрутизацию между двумя узлами сети. Сетевой уровень предоставляет транспортному уровню услуги с установлением соединения (connection -oriented ), например Х.25, или без установления такового (connectionless ) например IP (internet protocol ). Одна из основных функций сетевого уровня – маршрутизация.

К протоколам сетевого уровня относиться IP и ICMP (Internet Control Massage Protocol ).

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

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

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

Сеансовый уровень обеспечивает установление и разрыв сеансов, и управление ими. Сеанс – это логическое соединение между двумя конечными пунктами. Наилучший пример этой модели – телефонный звонок. При наборе номера Вы устанавливаете логическое соединение, в результате на другом конце провода звонит телефон. Когда один из собеседников говорит «аллё», начинается передача данных. После того как один из абонентов вешает трубку, телефонная компания выполняет некоторые действия для разрыва соединения. Сеансовый уровень следит также за очередностью передачи данных. Эту функцию называют «управление диалогом» (dialog management ). Вот примеры протоколов сеансового, представительного и прикладного уровней – SMTP (Simple Mail Transfer Protocol ), FTP (File Transfer Protocol ) и Telnet .

Представительный уровень

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

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

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

Таблица 1. модель ISO / OSI и некоторые протоколы соответствующих уровней.

ПРИКЛАДНОЙ УРОВЕНЬ

SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol)

ПРЕДСТАВИТЕЛЬНЫЙ УРОВЕНЬ

СЕАНСОВЫ УРОВЕНЬ

ТРАНСПОРТНЫЙ УРОВЕНЬ

Понятие «открытая система»

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

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

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

Для реальных систем полная открытость является недостижимым идеалом. Как правило, даже в системах, называемых открытыми, этому определению соответствуют лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, кроме всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Еще одним примером частичной открытости является применение в достаточно закрытой операционной системе Novell NetWare открытого интерфейса Open Driver Interface (ODI) для включения в систему драйверов сетевых адаптеров независимых производителей. Чем больше открытых спецификаций использовано при разработке системы, тем более открытой она является.

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

Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:

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

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

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

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

Ярким примером открытой системы является международная сеть Internet. Эта сеть развивалась в полном соответствии с требованиями, предъявляемыми к открытым системам. В разработке ее стандартов принимали участие тысячи специалистов-пользователей этой сети из различных университетов, научных организаций и фирм-производителей вычислительной аппаратуры и программного обеспечения, работающих в разных странах. Само название стандартов, определяющих работу сети Internet - Request For Comments (RFC), что можно перевести как «запрос на комментарии», - показывает гласный и открытый характер принимаемых стандартов. В результате сеть Internet сумела объединить в себе самое разнообразное оборудование и программное обеспечение огромного числа сетей, разбросанных по всему миру.

Модель OSI

Международная Организация по Стандартам (International Standards Organization, ISO) разработала модель, которая четко определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какую работу должен делать каждый уровень. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью ISO/OSI.

В модели OSI взаимодействие делится на семь уровней или слоев (рис. 1.1). Каждый уровень имеет дело с одним определенным аспектом взаимодействия. Таким образом, проблема взаимодействия декомпозирована на 7 частных проблем, каждая из которых может быть решена независимо от других. Каждый уровень поддерживает интерфейсы с выше- и нижележащими уровнями.

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

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

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

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

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

Кроме термина "сообщение" (message) существуют и другие названия, используемые сетевыми специалистами для обозначения единицы обмена данными. В стандартах ISO для протоколов любого уровня используется такой термин как "протокольный блок данных" - Protocol Data Unit (PDU). Кроме этого, часто используются названия кадр (frame), пакет (packet), дейтаграмма (datagram).

Функции уровней модели ISO/OSI

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

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

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

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

В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

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

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

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

Таким образом, внутри сети доставка данных регулируется канальным уровнем, а вот доставкой данных между сетями занимается сетевой уровень.

Сообщения сетевого уровня принято называтьпакетами (packets) . При организации доставки пакетов на сетевом уровне используется понятие"номер сети" . В этом случае адрес получателя состоит из номера сети и номера компьютера в этой сети.

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

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

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

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

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

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

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети - компонентами их сетевых операционных систем. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

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

Уровень представления. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов. Примером протокола, работающего на уровне представления, является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

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

Существует очень большое разнообразие протоколов прикладного уровня. Приведем в качестве примеров хотя бы несколько наиболее распространенных реализаций файловых сервисов: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

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

Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости оборудования по электрическим и механическим характеристикам и обеспечение совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных. Решение этой задачи относится к области стандартизации. Одним из примеров решения данной задачи является так называемая модель взаимосвязи открытых систем OSI (Model of Open System Interconnections).

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

Уровни модели OSI (в направлении снизу вверх) и их общие функции можно рассмотреть следующим образом:

Рассмотрим, как в модели SI происходит обмен данными между пользователями, находящимися на разных континентах.

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

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

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

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

5. Сетевой уровень определяет маршрут движения данных в сети. Так, например если на транспортном уровне данные были «нарезаны» на пакеты, то на сетевом уровне каждый пакет должен получить адрес, по которому он должен быть доставлен независимо от прочих пакетов.

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

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


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

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

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

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

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

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

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

Ниже в таблице приводится аналогия между уровнями модели OSI и операциями служб пересылки обычной почты.

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

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

Модель взаимодействия открытых систем OSI (Open System Interconnection) разработана международной организацией по стандартам ISO (Inernational Standarts Organization).

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

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

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

В результате это сетевое послание начинает напоминать многослойный бутерброд, который должен быть “съедобным” для получившего его компьютера. Для этого необходимо придерживаться определенных правил обмена данными между сетевыми компьютерами. Такие правила получили названия протоколов .

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

Теперь рассмотрим работу каждого уровня модели OSI подробнее:

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

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

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

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

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

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

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

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

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

На просторах сети интернет я нашел картинку, на которой неизвестный автор представил сетевую модель OSI в виде бургера. Считаю, это очень запоминающийся образ. Если вдруг в какой-то ситуации (например, на собеседовании при устройстве на работу) вам понадобиться по памяти перечислить все семь уровней модели OSI в правильном порядке – просто вспомните данную картинку, и это вам поможет. Для удобства я перевел названия уровней с английского на русский язык:На сегодня это всё. В следующей статье я продолжу тему и расскажу про .