• Методологический базис и эталонные системы. Эталонная модель OSI

    В 1978 г. ISO (International Standards Organization) выпустила на­бор спецификаций, описывающих модель взаимодействия открытых систем, т.е. систем, доступных для связи с другими системами. Это был первый шаг к международной стандартизации протоколов. Все системы могли теперь использовать одинаковые протоколы и стан­дарты для обмена информацией.

    В 1984 г. ISO выпустила новую версию своей модели, названную эталонной моделью взаимодействия открытых систем ISO. Эта вер­сия стала международным стандартом. Ее спецификации использу­ют производители при разработке сетевых продуктов, ее придержи­ваются при построении сетей. Полностью модель носит название ISO OSI (Open System Interconnection Reference Model). Для краткости будем ее называть модель OSI . Модель OSI не является сетевой архи­тектурой, так как не описывает службы и протоколы, используемые на каждом уровне. Она просто определяет, что должен делать каждый уровень. Важно также понимать, что эталонная модель не явля­ется чем-то реальным, таким, что обеспечивает связь. Сама по себе она не заставляет коммуникации функционировать и служит лишь для классификации. Она классифицирует то, что непосредственно работает, а именно - протоколы . Протоколом считается набор спе­цификаций, определяющих реализацию одного или нескольких уров­ней OSI. ISO разработала также стандарты для каждого уровня, хотя эти стандарты не входят в саму эталонную модель. Каждый из них был опубликован как отдельный международный стандарт.

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

    Модель OSI без физического носителя показана на рис.

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

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

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

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

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

    Таким образом, только Физический уровень модели может не­посредственно послать информацию соответствующему уровню дру­гого компьютера. Информация на компьютере-отправителе и ком­пьютере-получателе должна пройти все уровни, начиная с того, с которого она посылается, и заканчивая соответствующим уровнем того компьютера, которым она принимается. Например, если Сете­вой уровень передает информацию с компьютера А, она спускается через Канальный и Физический уровни в сетевой кабель, затем по­падает в компьютер В, где поднимается через Физический и Каналь­ный уровни и достигает Сетевого уровня. В среде клиент-сервер при­мером такой информации служит адрес и результат контроля ошибок, добавленные к пакету.

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

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

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

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

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

    Транспортный уровень (Transport) . Уровень 4. Основная функция Транспортного уровня − принять данные от Сеансового уровня, раз­бить их при необходимости на небольшие части и передать Сетево­му уровню, гарантируя, что эти части в правильном порядке прибу­дут по назначению. Все это должно быть сделано эффективно и так, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии. Транспортный уровень также следит за созданием и удалением сетевых соединений, управляет потоком со­общений, проверяет ошибки и участвует в решении задач, связан­ных с отправкой и получением пакетов. Примеры протоколов транс­портного уровня - ТСР и SРХ.

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

    Уровень передачи данных или канальный (Data Link) . Уровень 2. Основная задача Канального уровня - преобразовать способность Физического уровня передавать данные в надежную линию связи, свободную от необнаруженных ошибок с точки зрения вышестоящего Сетевого уровня. Эту задачу Канальный уровень выполняет при по­мощи разбиения входных данных на кадры размером от нескольких сот до нескольких тысяч байтов. Каждый следующий кадр данных передается только после получения и обработки кадра подтвержде­ния, посылаемого обратно получателем. Кадр - это логически организованная структура, в которую можно помещать данные. На рис. представлен простой кадр данных, где идентификатор отправи­теля − адрес компьютера-отправителя, а идентификатор получателя − адрес компьютера-получателя. Управляющая информация исполь­зуется для маршрутизации, указания типа пакета и сегментации. CRC (циклический код) позволяет выявить ошибки и гарантирует правильный прием информации.

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

    Предлагаемая эталонная модель BPM (Business Process Management) основывается на цепочке следующих предпосылок:

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

      BPM (как дисциплина) предлагает системный подход к реализации процессного управления;

      На каждом процессно-управляемом предприятии есть своя BPM-система - портфолио всех бизнес-процессов, а также методов и инструментов для руководства разработкой, исполнения и развития этого портфолио;

      Гибкость BPM-системы предприятия является основным фактором ее успеха;

      Специализированная программная платформа (BPM suite) для реализации BPM-системы предприятия необходима, но недостаточна, так как BPM занимает особое место в архитектуре предприятия.

    Цель: повышение производительности предприятия

    Для управления своей производительностью большинство предприятий используют принцип обратной связи (рис. 1), позволяющий адаптироваться к внешней бизнес-экосистеме путем выполнения определенной последовательности действий:

      Измерение хода исполнения производственно-хозяйственной деятельности (обычно такие измерения представлены в форме различных метрик или индикаторов, например, процент возвращающихся клиентов);

      Вычленение из внешней бизнес-экосистемы важных для предприятия событий (например, законов или новых потребностей рынка);

      Определение стратегии развития бизнеса предприятия;

      Реализация принятых решений (путем внесения изменений в бизнес-систему предприятия).

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

      Обеспечение руководства надлежащей информацией и инструментами для принятия решения;

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

    Наиболее современная концепция организации работы предприятия - процессное управление, при котором процессы и службы становятся явными.

    Процессное управление

    Мир бизнеса давно понял (см. такие методики, как TQM, BPR, Six Sigma, Lean, ISO 9000, и др.), что службы и процессы - это основа функционирования большинства предприятий. Множество предприятий используют процессное управление для организации своей производственно-хозяйственной деятельности, как портфолио бизнес-процессов и методов управления ими.

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

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

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

    Для реализации процессного управления предприятия используют три популярные дисциплины постоянного усовершенствования бизнес-процессов: ISO 9000, Six Sigma и «бережливое», или «экономное», производство (Lean production). Они воздействуют на различные области бизнес-системы предприятия, однако всегда предусматривается сбор данных о фактически проделанной работе и использование некой модели бизнес-процессов для принятия решений (хотя иногда эта модель находится только в чьей-то голове). В то же самое время они предлагают различные и взаимодополняющие методы для того, чтобы определить, какие именно изменения необходимы для улучшения функционирования бизнес-системы предприятия.

    Что моделируете, то и выполняете

    На рис. 2 приведена обобщенная модель процессно-управляемого предприятия.

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

    Такое описание - основа дисциплины BPM, позволяющей моделировать, автоматизировать, выполнять, контролировать, измерять и оптимизировать потоки работ, охватывающие программные системы, сотрудников, клиентов и партнеров в пределах и вне границ предприятия. Дисциплина BPM рассматривает все операции с бизнес-процессами (моделирование, исполнение и т.п.) как единое целое (рис. 3).

    На данный момент в индустрии BPM еще не сложилась надлежащая система стандартов на форматы формального описания бизнес-процессов. Три наиболее популярных формата: BPMN (Business Process Modelling Notation , графическое представление моделей бизнес-процессов), BPEL (Business Process Execution Language , формализация исполнения взаимодействия между Web-сервисами) и XPDL (XML Process Description Language, www.wfmc.org, спецификация по обмену моделями бизнес-процессов между различными приложениями) были разработаны различными группами и для различных целей и, к сожалению, адекватно не взаимодополняют друг друга.

    Ситуация усугубляется тем, что за различными форматами стоят различные производители и каждый старается «протолкнуть» на рынок свое решение. Как это неоднократно повторялось, в подобной борьбе интересы конечного потребителя мало принимаются во внимание - сегодня нет достаточно мощной организации, представляющей интересы конечного потребителя BPM (по аналогии с группой стандартов для HTML , успех которой объясняется принятием всеми разработчиками Web-браузеров единого теста ACID3 для сравнения своих продуктов). Идеальной ситуацией в BPM было бы стандартное определение семантики исполнения для BPMN-подобного описания бизнес-процессов. Именно стандартная семантика исполнения гарантировала бы одинаковую интерпретацию бизнес-процессов любым ПО. Дополнительно такое описание должно позволять адаптацию степени описания бизнес-процессов для нужд конкретного потребителя (например, пользователь видит грубую диаграмму, аналитик - более подробную и т.п.).

    Все это не означает, что BPEL или XPDL станут ненужными - их использование будет скрыто, как это происходит в сфере подготовки электронных документов. Один и тот же электронный документ может одновременно существовать в XML, PDF, PostScript и т.п., но только один основной формат (XML) используется для модификации документа.

    Дисциплина BPM в культуре предприятия

    Кроме процессов и служб, бизнес-системы предприятия работают с такими дополнительными артефактами, как:

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

      объекты (data and documents objects) - формальные информационные описания реальных вещей и людей, образующих бизнес; это информация на входе и выходе бизнес-процесса, например, бизнес-процесс обслуживания заказа получает на входе собственно формуляр заказа и информацию о клиенте, а на выходе формирует отчет о выполнении заказа;

      деятельности (activities) - мелкие работы, преобразующие объекты, например автоматические деятельности типа проверки кредитной карты клиента или деятельности, осуществляемые человеком, такие как визирование документа руководством;

      правила (rules) - ограничения и условия, при которых функционирует предприятие, например, выдача кредита на определенную сумму должна утверждаться генеральным директором банка;

      роли (roles) - понятия, представляющие соответствующие навыки или обязанности, требуемые для выполнения определенных действий, например, только менеджер высшего звена может подписать конкретный документ;

      аудиторские следы (audit trails) - информация о выполнении конкретного бизнес-процесса, например, кто сделал, что и с каким результатом;

      основные индикаторы производительности (Key Performance Indicator, KPI) - ограниченное число показателей, измеряющих степень достижения поставленных целей.

    Рис. 4 иллюстрирует распределение артефактов между различными частями бизнес-системы предприятия. Выражение «процессы (как шаблоны)» означает абстрактные описания (модели или планы) процессов;

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

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

    BPM-система, как правило, не идеальна (например, некоторые процессы могут существовать лишь на бумаге, а некоторые детали «живут» только в умах определенных людей), но она существует. Например, любую реализацию ISO 9000 можно рассматривать как пример BPM-системы.

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

    Специализированное ПО для реализации BPM-систем

    Растущая популярность и большой потенциал BPM вызвали появление нового класса корпоративного ПО - BPM suite, или BPMS, содержащего следующие типичные компоненты (рис. 5):

      Инструмент моделирования (Process modelling tool) - графическая программа для манипулирования такими артефактами, как события, правила, процессы, активности, службы и т.д.;

      Инструмент тестирования (Process testing tool) - среда функционального тестирования, которое позволяет «исполнять» процесс по различным сценариям;

      Хранилище шаблонов (Process template repository) - база данных шаблонов бизнес-процессов с поддержкой различных версий одного и того же шаблона;

      Исполнитель процессов (Process execution engine);

      Хранилище экземпляров (Process instance repository) - база данных для выполняемых и уже выполненных экземпляров бизнес-процессов;

      Список работ (Work list) - интерфейс между BPM suite и пользователем, выполняющим некоторые активности в рамках одного или нескольких бизнес-процессов;

      Приборная панель (Dashboard) - интерфейс оперативного контроля за исполнением бизнес-процессов;

      Инструмент анализа (Process analysis tool) - среда для изучения тенденции исполнения бизнес-процессов;

      Инструмент имитационного моделирования (Process simulation tool) - среда для тестирования производительности бизнес-процессов.

    Необходимость взаимодействия между BPM suite и корпоративным ПО, которое поддерживает другие артефакты, вызвала появление нового класса корпоративного ПО - Business Process Platform (BPP). Типичные технологии BPP (рис. 6):

      Business Event Management (BEM) - анализ бизнес-событий в режиме реального времени и запуск соответствующих бизнес-процессов (BEM связан с Complex Event Processing (CEP) и Event Driven Architecture (EDA));

      Business Rules Management (BRM) - явное и формальное кодирование бизнес-правил, которые могут модифицироваться пользователями;

      Master Data Management (MDM) - упрощение работы со структурированными данными за счет устранения хаоса при использовании одних и тех же данных;

      Enterprise Content Management (ECM) - управление корпоративной информацией, предназначенной для человека (обобщение понятия документ);

      Configuration Management Data Base (CMDB) - централизованное описание всей информационно-вычислительной среды предприятия, используемое для привязки BPM к информационно-вычислительным ресурсам предприятия;

      Role-Based Access Control (RBAC) - управления доступом к информации с целью эффективного разделения контрольных и исполнительских полномочий (separation of duty);

      Business Activity Monitoring (BAM) - оперативный контроль функционирования предприятия;

      Business Intelligence (BI) - анализ характеристик и тенденций работы предприятия;

      Service-Oriented Architecture (SOA) - архитектурный стиль для построения сложных программных систем в виде набора универсально доступных и взаимозависимых служб, который используется для реализации, выполнения и управления службами;

      Enterprise Service Bus (ESB) - среда коммуникаций между службами в рамках SOA.

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

    BPM в архитектуре предприятия

    Необходимость вовлечения практически всего корпоративного ПО в единую логику улучшения BPM-системы предприятия поднимает вопрос о роли и месте BPM в архитектуре предприятия (Enterprise Architecture, EA). EA является на сегодня устоявшейся практикой ИТ-департаментов по упорядочению информационно-вычислительной среды предприятия. В основе EA лежат следующие правила:

      Текущая ситуация с информационно-вычислительной средой предприятия тщательно документируется как исходная точка as-is;

      Желаемая ситуация документируется как конечная точка to-be;

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

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

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

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

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

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

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

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

    Александр Самарин ([email protected]) - корпоративный архитектор ИТ-департамента правительства кантона Женева (Швейцария).

    Process Frameworks для BPM

    Подход к реализации технологий управления бизнес-процессами, упрощающий внедрение BPM-систем, подразумевает четкое определение бизнес-задачи и соответствующих ей бизнес-процессов; реализацию этих процессов за срок не более трех месяцев с целью демонстрации ценности данного подхода; дальнейшее расширение реализации на основные бизнес-задачи. Однако главная трудность на этом пути - недопонимание и отсутствие согласованности между бизнес- и ИТ-подразделениями. Значительно упростить проект внедрения и сократить затраты позволяют специализированные референсные модели (Process Frameworks).

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

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

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

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

    Process Framework, например, для бизнес-процесса обработки заказов, включает в себя базовую модель процесса со схемами действий для различных пользователей и ролей, избранные KPI из модели SCOR (The Supply-Chain Operations Reference-model) для процесса в целом и отдельных этапов, правила поддержки разных последовательностей обработки, например с учетом сегмента клиентов, целевые показатели для различных сегментов клиентов, типов продукции и регионов, а также панели индикации, помогающие контролировать особые ситуации.

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

    Владимир Аленцев ([email protected]) - консультант по BPM и SOA , представительство Software AG в России и СНГ (Москва).

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


    Разработчики эталонной модели руководствовались следующими принципами.

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

    · Уровни должны четко отличаться выполняемыми на них функциями (объектами) и логическими модулями.

    · Функции и протоколы одного уровня могут быть изменены, если это не затрагивает другие уровни.

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

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

    Получившаяся в результате эталонная модель содержит семь уровней (рис. 4.24).

    Высшим, седьмым, уровнем модели OSI является прикладной уровень (Application ), на котором осуществляется управление терминалами и прикладными процессами в оконечных системах, являющимися источниками и потребителями информации в информационной сети. Этот уровень представляет сервисы непосредственно пользовательским прикладным программам. Чтобы избежать несовместимости между пользовательскими программами, прикладной уровень определяет стандартные способы представления сервисов этого уровня. Это освобождает программистов от необходимости повторно прописывать одни и те же функции в каждой сетевой прикладной программе, которую они создают. Сами сервисы прикладного уровня приложениями не являются. Прикладной уровень предоставляет программистам набор открытых стандартных интерфейсов прикладного программирования (API – Application Programming Interface), которые можно использовать для выполнения таких функций сетевого приложения как передача файлов, удаленная регистрация и т.п. В результате модули прикладных программ получаются меньшими по размеру и требуют меньше памяти.

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


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

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

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

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

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

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

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

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

    Функция установления и разрыва соединения по запросу сеансового уровня между равноправными объектами транспортного уровня реализуется посредством процедуры трехстороннего квитирования.

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

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

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

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

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

    Для каждого из приоритетов могут быть организованы раздельные буферные пулы. Алгоритмом транспортировки при этом предусматривается первоочередное обслуживание буфера срочных данных и только после его опустошения – буфера обычных данных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Блок данных на канальном уровне называется кадром или фреймом. Пакеты сетевого уровня, объединенные в кадр, обрамляются разделительными флагами (специальными последовательностями бит, помещаемыми в начале и конце блока пакетов). Кроме того, к кадру добавляется контрольная сумма, с использованием которой осуществляется проверка верности переданного по каналу кадра. В случае обнаружения неисправимой ошибки, приемник запрашивает у передатчика повторную передачу кадра. Теория передачи данных и теория кодирования достаточно хороши разработаны, что позволяет обеспечить высокую эффективность работы протоколов канального уровня. Необходимо отметить, что функция исправления битовых ошибок не всегда является обязательной для канального уровня, поэтому в некоторых протоколах канального уровня она отсутствует (Ethernet, Frame relay). Иногда в глобальных сетях функции канального уровня в чистом виде вообще выделить трудно, поскольку в одном и том же протоколе они объединяются с функциями сетевого уровня (АТМ, Frame relay).

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

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

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

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

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

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

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

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

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

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

    Функциональные . Определяют функции отдельных каналов физических интерфейсов устройств, взаимодействующих через передающую среду. Основными схемами взаимодействия устройств на физическом уровне являются: симплексная связь (односторонняя), полудуплексная связь (поочередная) и дуплексная связь (двусторонняя, одновременная), иногда называемая полнодуплексной. При этом могут быть реализованы два варианта организации связи: «точка-точка » и «точка-много точек ». В первом варианте два устройства разделяют одну связь, которая, в свою очередь, может быть симплексной, полудуплексной или дуплексной. Во втором варианте предполагается, что данные, передаваемые одним устройством, принимаются многими устройствами. Как правило, такие связи являются симплексными (кабельное телевидение) либо полудуплексными (локальная сеть на базе стандарта Ethernet). В отдельных случаях могут использоваться и дуплексные связи (сеть на базе технологии SONET). Могут быть использованы и другие топологии физического уровня, такие как шина, звезда, кольцо , однако все они являются вариациями вариантов связи «точка-точка» и «точка - много точек». Так топология шина является типичным вариантом «точка - много точек», топология звезда – набором связей «точка-точка», кольцо – набор кругообразных связей «точка-точка».

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

    Одной из важных функций физического уровня является мультиплексирование, обеспечивающее объединение множества узкополосных (низкоскоростных) каналов в один широкополосный (высокоскоростной) канал. Как известно, по технологическому принципу различают частотное мультиплексирование (Frequency Division Multiplexing, FDM) и мультиплексирование с разделением времени (Time Division Multiplexing, TDM). Технологии FDM и TDM могут быть объединены таким образом, что подканал в системе с частотным мультиплексированием разбивается на несколько каналов, путем мультиплексирования с разделением времени. Этот прием используется в работе цифровых сотовых сетей.


    Сетевая модель OSI (англ.open systems interconnection basic reference model - базовая эталонная модельвзаимодействия открытых систем) -сетевая модельстекасетевых протоколовOSI/ISO.

    В связи с затянувшейся разработкой протоколов OSI, в настоящее время основным используемым стеком протоколов является TCP/IP, он был разработан ещё до принятия модели OSI и вне связи с ней.

    Модель OSI

    Тип данных

    Уровень (layer)

    Функции

    7. Прикладной (application)

    Доступ к сетевым службам

    6. Представительский (presentation)

    Представление и шифрование данных

    5. Сеансовый (session)

    Управление сеансом связи

    Сегменты / Дейтаграммы

    4. Транспортный (transport)

    Прямая связь между конечными пунктами и надежность

    3. Сетевой (network)

    Определение маршрута и логическая адресация

    2. Канальный (data link)

    Физическая адресация

    1. Физический (physical)

    Работа со средой передачи, сигналами и двоичными данными

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

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

      тип передающей среды (медный кабель, оптоволокно, радиоэфир и др.),

      тип модуляции сигнала,

      сигнальные уровни логических дискретных состояний (нуля и единицы).

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

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

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

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

    Прикладной уровень (уровень приложений) - верхний уровень модели, обеспечивающий взаимодействие пользовательских приложений с сетью:

      позволяет приложениям использовать сетевые службы:

      отвечает за передачу служебной информации;

      предоставляет приложениям информацию об ошибках;

      формирует запросы к уровню представления.

    Протоколы прикладного уровня: RDP HTTP (HyperText Transfer Protocol), SMTP (Simple Mail Transfer Protocol), SNMP (Simple Network Management Protocol), POP3 (Post Office Protocol Version 3), FTP (File Transfer Protocol), XMPP, OSCAR,Modbus, SIP,TELNETи другие.

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

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

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

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

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

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

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

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

    Протоколы уровня представления: AFP - Apple Filing Protocol, ICA -Independent Computing Architecture, LPP - Lightweight Presentation Protocol, NCP -NetWare Core Protocol, NDR -Network Data Representation, XDR -eXternal Data Representation, X.25 PAD -Packet Assembler/Disassembler Protocol.

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

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

    Протоколы сеансового уровня: ADSP, ASP, H.245, ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS, L2F, L2TP, NetBIOS, PAP (Password Authentication Protocol), PPTP, RPC, RTCP, SMPP, SCP (Session Control Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protocol)..

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

    Транспортный уровень (англ.transport layer ) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приема), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDPограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушения порядка получения пакетов данных;TCPобеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и, наоборот, склеивая фрагменты в один пакет.

    Протоколы транспортного уровня: ATP, CUDP, DCCP, FCP, IL, NBF, NCP, RTP, SCTP, SPX, SST, TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

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

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

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

    Протоколы сетевого уровня: IP/IPv4/IPv6 (Internet Protocol), IPX, X.25, CLNP (сетевой протокол без организации соединений), IPsec (Internet Protocol Security). Протоколы маршрутизации - RIP, OSPF.

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

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

    Спецификация IEEE 802разделяет этот уровень на два подуровня:MAC(англ.media access control ) регулирует доступ к разделяемой физической среде, LLC(англ.logical link control ) обеспечивает обслуживание сетевого уровня.

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

    Протоколы канального уровня- ARCnet,ATMEthernet,Ethernet Automatic Protection Switching(EAPS),IEEE 802.2,IEEE 802.11wireless LAN,LocalTalk, (MPLS),Point-to-Point Protocol(PPP),Point-to-Point Protocol over Ethernet(PPPoE),StarLan,Token ring,Unidirectional Link Detection(UDLD),x.25.

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

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

    На этом уровне также работают концентраторы,повторителисигнала имедиаконвертеры.

    Функции физического уровня реализуются на всех устройствах, подключенных к сети. Со стороны компьютера функции физического уровня выполняются сетевым адаптером или последовательным портом. К физическому уровню относятся физические, электрические и механические интерфейсы между двумя системами. Физический уровень определяет такие виды сред передачи данных как оптоволокно,витая пара,коаксиальный кабель, спутниковый канал передач данных и т. п. Стандартными типами сетевых интерфейсов, относящимися к физическому уровню, являются:V.35,RS-232,RS-485, RJ-11,RJ-45, разъемыAUIиBNC.

    Протоколы физического уровня: IEEE 802.15 (Bluetooth),IRDA,EIARS-232,EIA-422,EIA-423,RS-449,RS-485,DSL,ISDN,SONET/SDH,802.11Wi-Fi,Etherloop,GSMUm radio interface,ITUиITU-T,TransferJet,ARINC 818,G.hn/G.9960.

    Семейство TCP/IP

    Семейство TCP/IPимеет три транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных;UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмендатаграммамимежду приложениями, не гарантирующий получения данных; иSCTP, разработанный для устранения некоторых недостатков TCP, в который добавлены некоторые новшества. (В семействе TCP/IP есть ещё около двухсот протоколов, самым известным из которых является служебный протоколICMP, используемый для внутренних нужд обеспечения работы; остальные также не являются транспортными протоколами).

    Семейство IPX/SPX

    В семействе IPX/SPXпорты (называемые сокетами или гнёздами) появляются в протоколе сетевого уровня IPX, обеспечивая обмендатаграммамимежду приложениями (операционная система резервирует часть сокетов для себя). Протокол SPX, в свою очередь, дополняет IPX всеми остальными возможностями транспортного уровня в полном соответствии с OSI.

    В качестве адреса хоста IPX использует идентификатор, образованный из четырёхбайтного номера сети (назначаемого маршрутизаторами) и MAC-адреса сетевого адаптера.

    Модель TCP/IP (5 уровней)

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

      Транспортный (4) уровень (Transport Layer) обеспечивает доставку пакетов без ошибок и потерь, а также в нужной последовательности. Здесь же производится разбивка на блоки передаваемых данных, помещаемые в пакеты, и восстановление принимаемых данных из пакетов. Доставка пакетов возможна как с установлением соединения (виртуального канала), так и без. Транспортный уровень является пограничным и связующим между верхними тремя, сильно зависящими от приложений, и тремя нижними уровнями, сильно привязанными к конкретной сети.

      Сетевой (3) уровень (Network Layer) отвечает за адресацию пакетов и перевод логических имен (логических адресов, например, IP-адресов или IPX-адресов) в физические сетевые MAC-адреса (и обратно). На этом же уровне решается задача выбора маршрута (пути), по которому пакет доставляется по назначению (если в сети имеется несколько маршрутов). На сетевом уровне действуют такие сложные промежуточные сетевые устройства, как маршрутизаторы.

      Канальный (2) уровень или уровень управления линией передачи (Data link Layer) отвечает за формирование пакетов (кадров) стандартного для данной сети (Ethernet, Token-Ring, FDDI) вида, включающих начальное и конечное управляющие поля. Здесь же производится управление доступом к сети, обнаруживаются ошибки передачи путем подсчета контрольных сумм, и производится повторная пересылка приемнику ошибочных пакетов. Канальный уровень делится на два подуровня: верхний LLC и нижний MAC. На канальном уровне работают такие промежуточные сетевые устройства, как, например, коммутаторы.

      Физический (1) уровень (Physical Layer) – это самый нижний уровень модели, который отвечает за кодирование передаваемой информации в уровни сигналов, принятые в используемой среде передачи, и обратное декодирование. Здесь же определяются требования к соединителям, разъемам, электрическому согласованию, заземлению, защите от помех и т.д. На физическом уровне работают такие сетевые устройства, как трансиверы, репитеры и репитерные концентраторы.

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

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

    С таким разделением и обеспечением взаимосвязи тесно связаны две группы вопросов стандартизации:

    1. стандарты интерфейсов взаимодействия прикладных программ со средой ИС, прикладной программный интерфейс (Application Program Interface - API);
    2. стандарты интерфейсов взаимодействия самой ИС с внешней для нее средой (External Environment Interface - EEI).

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

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

    Совокупность таких описаний составляет эталонную модель взаимосвязи открытых систем (Open Systems Interconnection - OSI) . Эта модель используется более 30 лет, она "выросла" из сетевой архитектуры SNA (System Network Architecture), предложенной компанией IBM. Модель взаимосвязи открытых систем используется в качестве основы для разработки многих стандартов ISO в области ИТ. Публикация этого стандарта подвела итог многолетней работы многих известных стандартизующих организаций и производителей телекоммуникационных средств.

    В 1984 году модель получила статус международного стандарта ISO 7498, а в 1993 году вышло расширенное и дополненное издание ISO 7498-1-93. Стандарт имеет составной заголовок "Информационно-вычислительные системы - Взаимосвязь (взаимодействие) открытых систем - Эталонная модель". Краткое название - "Эталонная модель взаимосвязи (взаимодействия) открытых систем" (Open Systems Interconnection / Basic Reference Model - OSI/BRM).

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


    Рис. 2.6.

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

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

    В стандарте ISO 7498 выделено семь уровней (слоев) информационного взаимодействия, которые отделены друг от друга стандартными интерфейсами:

    1. уровень приложения (прикладной уровень)
    2. уровень представления
    3. сеансовый (уровень сессии)
    4. транспортный
    5. сетевой
    6. канальный
    7. физический.

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

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

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

    Инкапсуляция - это процесс помещения фрагментированных блоков данных одного уровня в блоки данных другого уровня.

    При разбиении среды на уровни соблюдались следующие общие принципы:

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

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

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

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

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

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

    Уровень 2 - уровень представления (Presentation Layer). На этом уровне информация преобразуется к такому виду, в каком это требуется для выполнения прикладных процессов. Уровень представления обеспечивает кодирование данных, выдаваемых прикладными процессами, и интерпретацию передаваемых данных. Например, выполняются алгоритмы преобразования формата представления данных для печати - ASCII или КОИ-8. Или, если для визуализации данных используется дисплей, то эти данные по заданному алгоритму формируются в виде страницы, которая выводится на экран.

    Представительный уровень выполняет следующие основные функции:

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

    Уровень 3 - сеансовый уровень или уровень сессии (Session Layer). На данном уровне устанавливаются, обслуживаются и прекращаются сессии между представительными объектами приложений (прикладными процессами). В качестве примера протокола сеансового уровня можно рассмотреть протокол RPC (Remote Procedure Call). Как следует из названия, данный протокол предназначен для отображения результатов выполнения процедуры на удаленном хосте. В процессе выполнения этой процедуры между приложениями устанавливается сеансовое соединение. Назначением данного соединения является обслуживание запросов, которые возникают, например, при взаимодействии приложения-сервера с приложением-клиентом.

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

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

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

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

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

    • управление передачей блоков данных и обеспечение их целостности;
    • обнаружение ошибок, их частичная ликвидация, сообщение о неисправленных ошибках;
    • восстановление передачи после отказов и неисправностей;
    • укрупнение либо разукрупнение блоков данных;
    • предоставление приоритетов при передаче блоков;
    • передача подтверждений о переданных блоках данных;
    • ликвидация блоков при тупиковых ситуациях в сети.

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

    Уровень 5 - сетевой уровень (Network Layer). Основной задачей протоколов сетевого уровня является определение пути, который будет использован для доставки пакетов данных при работе протоколов верхних уровней (маршрутизация). Для того чтобы пакет был доставлен до какого-либо заданного хоста, этому хосту должен быть поставлен в соответствие известный передатчику сетевой адрес. Группы хостов, объединенные по территориальному принципу, образуют сети. Для упрощения задачи маршрутизации сетевой адрес хоста составляется из двух частей: адреса сети и адреса хоста. Таким образом, задача маршрутизации распадается на две - поиск сети и поиск хоста в этой сети. На сетевом уровне могут выполняться следующие функции:

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

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

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

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

    На канальном уровне данные передаются в виде блоков, которые называются кадрами. Тип используемой среды передачи и её топология во многом определяют вид кадра протокола транспортного уровня, который должен быть использован. При использовании топологии "общая шина" (Common Bus) и "один-ко-многим" (Point-to-Multipoint) средства протокола канального уровня задают физические адреса, с помощью которых будет производиться обмен данными в среде передачи и процедура доступа к этой среде. Примерами таких протоколов являются протоколы Ethernet (в соответствующей части) и HDLC. Протоколы транспортного уровня, которые предназначены для работы в среде типа "один-к-одному" (Point-to-Point), не определяют физических адресов и имеют упрощенную процедуру доступа. Примером протокола такого типа является протокол PPP.

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

    Физический уровень выполняет следующие функции:

    • устанавливает и разъединяет физические соединения;
    • передает последовательность сигналов;
    • "прослушивает" в нужных случаях каналы;
    • выполняет идентификацию каналов;
    • оповещает о появлении неисправностей и отказов.

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

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

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


    Рис. 2.9.

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