Как настроить смартфоны и ПК. Информационный портал

Сколько уровней включает эталонная модель osi. Эталонная модель ISO OSI

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

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

Что такое эталонная модель OSI?

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

Модель OSI не случайно называют моделью сетевого взаимодействия, а также ее не случайно называют эталонной моделью. Модель OSI описывает то как должны взаимодействовать машины в компьютерной сети. Если говорить в рамках определения, то OSI – это базовая или эталонная модель взаимодействия открытых систем. Как мы знаем, любое взаимодействие происходит по протоколу или определённому набору правил взаимодействия, например, взаимодействие между браузером и (например, ) происходит по .

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

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

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

Для чего нужна модель OSI и кто разработал данную модель?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Первый уровень модели OSI. Физический уровень эталонной модели взаимодействия

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

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

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

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

Как ни странно, но на физическом уровне уже происходит деление на клиент и сервер. Также на физическом уровне есть свои собственные протоколы: различные протоколы Wi-Fi, GSM, Bluetooth и другие.

Второй уровень модели OSI. Канальный уровень эталонной модели взаимодействия

Канальный уровень модели OSI является вторым по счету . На канальном уровне происходит две важных вещи:

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

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

  1. Подуровень MAC. На этом подуровне определяется доступ к физической среде, за счет данного подуровня канальный уровень может взаимодействовать с несколькими физическими уровнями.
  2. Подуровень LLC. Данный подуровень обеспечивает взаимодействие с сетевым уровнем модели OSI.

Самым широко распространённым устройством второго уровня модели OSI является коммутатор доступа , который устанавливается практически в каждом доме провайдером, именно к коммутатору подключаются роутеры, которые стоят в наших квартирах. Если говорить про наши компьютеры, то второй уровень модели OSI представлен в виде драйверов для сетевой платы.

В качестве примера протоколов канального уровня можно привести: wireless LAN, PPPoE, Ethernet.

Третий уровень модели OSI. Сетевой уровень эталонной модели взаимодействия

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

Также на третьем уровне эталонной модели происходит преобразование логических сетевых адресов в физические и наоборот, этот процесс получил название – трансляция. Роутеры, установленные в ваших квартирах – это хороший пример устройств сетевого уровня модели OSI . Самым популярным протоколом третьего уровня модели OSI является протокол IP, на данный момент поддерживается две версии протокола IP: IPv4 и IPv6.

Четвертый уровень модели OSI. Транспортный уровень эталонной модели взаимодействия

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

Четвертый уровень модели OSI насчитывает множество различных протокол передачи данных: есть протоколы, которые только лишь обеспечивают транспортные функции, а есть протоколы, которые гарантируют правильную передачу данных по сети. В зависимости от потребностей и технических условий выбирается тот или иной протокол. Например, потоковое видео в Интернете никто не будет предавать по протоколу, гарантирующему 100% правильность передачи данных, в качестве примера такого протокола можно привести UPD.

Если же говорить о протоколе, который гарантирует правильность передачи данных то в качестве примера можно привести TCP. Протокол TCP является протоколом транспортного уровня модели OSI и гарантирует надёжность и правильность передачи данных по сети , также он исключает потерю данных в процессе их передачи и обеспечивает не нарушения порядка поступления данных, то есть данные по протоколу TCP придут на приемное устройство в том порядке, в котором они передавались.

Пятый уровень модели OSI. Сеансовый уровень эталонной модели взаимодействия

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

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

На самом деле, задачи сеансового уровня модели OSI несколько шире, чем описаны выше. В качестве примера протоколов сеансового уровня можно привести: ADSP, PPTP, H.245.

Шестой уровень модели OSI. Уровень представления эталонной модели взаимодействия

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

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

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

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

Седьмой уровень модели OSI. Прикладной уровень эталонной модели взаимодействия

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

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

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

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

В эталонной модели OSI вводятся два понятия: протокол и интерфейс .

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

Интерфейс – это совокупность средств и методов взаимодействия между элементами открытой системы.

Протокол определяет правила взаимодействия модулей одного уровня в разных узлах, а интерфейс – модулей соседних уровней в одном узле.

Всего существует семь уровней эталонной модели OSI. Стоит отметить, что в реальных стеках используется меньше уровней. Например, в популярном TCP/IP используется всего четыре уровня. Почему так? Объясним чуть позже. А сейчас рассмотрим каждый из семи уровней в отдельности.

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

  • Физический уровень. Определяет вид среды передачи данных, физические и электрические характеристики интерфейсов, вид сигнала. Этот уровень имеет дело с битами информации. Примеры протоколов физического уровня: Ethernet, ISDN, Wi-Fi.
  • Канальный уровень. Отвечает за доступ к среде передачи, исправление ошибок, надежную передачу данных. На приеме полученные с физического уровня данные упаковываются в кадры после чего проверяется их целостность. Если ошибок нет, то данные передаются на сетевой уровень. Если ошибки есть, то кадр отбрасывается и формируется запрос на повторную передачу. Канальный уровень подразделяется на два подуровня: MAC (Media Access Control) и LLC (Locical Link Control). MAC регулирует доступ к разделяемой физической среде. LLC обеспечивает обслуживание сетевого уровня. На канальном уровне работают коммутаторы. Примеры протоколов: Ethernet, PPP.
  • Сетевой уровень. Его основными задачами являются маршрутизация – определение оптимального пути передачи данных, логическая адресация узлов. Кроме того, на этот уровень могут быть возложены задачи по поиску неполадок в сети (протокол ICMP). Сетевой уровень работает с пакетами. Примеры протоколов: IP, ICMP, IGMP, BGP, OSPF).
  • Транспортный уровень. Предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. Выполняет сквозной контроль передачи данных от отправителя до получателя. Примеры протоколов: TCP, UDP.
  • Сеансовый уровень. Управляет созданием/поддержанием/завершением сеанса связи. Примеры протоколов: L2TP, RTCP.
  • Представительский уровень. Осуществляет преобразование данных в нужную форму, шифрование/кодирование, сжатие.
  • Прикладной уровень. Осуществляет взаимодействие между пользователем и сетью. Взаимодействует с приложениями на стороне клиента. Примеры протоколов: HTTP, FTP, Telnet, SSH, SNMP.

После знакомства со эталонной моделью, рассмотрим стек протоколов TCP/IP.

В модели TCP/IP определено четыре уровня. Как видно из рисунка выше – один уровень TCP/IP может соответствовать нескольким уровням модели OSI.

Уровни модели TCP/IP:

  • Уровень сетевых интерфейсов. Соответствует двум нижним уровням модели OSI: канальному и физическому. Исходя из этого, понятно, что данный уровень определяет характеристики среды передачи (витая пара, оптическое волокно, радиоэфир), вид сигнала, способ кодирования, доступ к среде передачи, исправление ошибок, физическую адресацию (MAC-адреса). В модели TCP/IP на этом уровне работает протокол Ethrnet и его производные (Fast Ethernet, Gigabit Ethernet).
  • Уровень межсетевого взаимодействия. Соответствует сетевому уровню модели OSI. Берет на себя все его функции: маршрутизацию, логическую адресация (IP-адреса). На данном уровне работает протокол IP.
  • Транспортный уровень. Соответствует транспортному уровню модели OSI. Отвечает за доставку пакетов от источника до получателя. На данному уровне задействуется два протокола: TCP и UDP. TCP является более надежным, чем UDP за счет создания предварительного соединения, запросов на повторную передачу при возникновении ошибок. Однако, в то же время, TCP более медленный, чем UDP.
  • Прикладной уровень. Его главная задача – взаимодействие с приложениями и процессами на хостах. Примеры протоколов: HTTP, FTP, POP3, SNMP, NTP, DNS, DHCP.

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

Рассмотрим на конкретном примере. Пусть мы хотим попасть с компьютера на сайт. Для этого наш компьютер должен подготовить http-запрос на получение ресурсов веб-сервера, на котором хранится нужная нам страница сайта. На прикладном уровне к данным (Data) браузера добавляется HTTP-заголовок. Далее на транспортном уровне к нашему пакету прибавляется TCP-заголовок, содержащий номера портов отправителя и получателя (80 порт – для HTTP). На сетевом уровне формируется IP-заголовок, содержащий IP-адреса отправителя и получателя. Непосредственно перед передачей, на канальном уровне добавляется Ethrnet-заголовок, который содержит физические (MAC-адреса) отправителя и получателя. После всех этих процедур пакет в виде битов информации передается по сети. На приеме происходит обратная процедура. Web-сервер на каждом уровне будет проверять соответствующий заголовок. Если проверка прошла удачно, то заголовок отбрасывается и пакет переходит на верхний уровень. В противном случае весь пакет отбрасывается.


Подписывайтесь на нашу

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

Для наглядности процесс работы сети в эталонной модели OSI разде­лен на семь уровней. Эта теоретическая конструкция облегчает изу­чение и понимание довольно сложных концепций. В верхней части модели OSI располагается приложение, которому нужен доступ к ре­сурсам сети, в нижней - сама сетевая среда. По мере того как дан­ные продвигаются от уровня к уровню вниз, действующие на этих уровнях протоколы постепенно подготавливают их для передачи по сети. Добравшись до целевой системы, данные продвигаются по уров­ням вверх, причем те же протоколы выполняют те же действия, толь­ко в обратном порядке. В 1983 г. Международная организация по стандартизации (Interna­tional Organization for Standardization, ISO) и Сектор стандартизации телекоммуникаций Международного телекоммуникационного союза (Te­lecommunication Standardization Sector of International Telecommu­nication Union, ITU-T) опубликовали документ «The Basic Reference Model for Open Systems Interconnection», где была описана модель распределения сетевых функций между 7 различными уровнями (рис. 1.7). Предполагалось, что эта семиуровневая структура станет основой для нового стека протоколов, но в коммерческой форме он так и не был реализован. Вместо этого модель OSI используется с су­ществующими стеками протоколов в качестве обучающего и справоч­ного пособия. Большая часть популярных в наши дни протоколов появилась до разработки модели OSI, поэтому в точности с ее семиуровневой струк­ турой они не согласуются. Зачастую в одном протоколе совмещены функции двух или даже нескольких уровней модели, да и границы протоколов часто не соответствуют границам уровней OSI. Тем не менее модель OSI остается отличным наглядным пособием для ис­следования сетевых процессов, и профессионалы часто связывают функции и протоколы с определенными уровнями.

Инкапсуляция данных

По сути, взаимодействие протоколов, работающих на разных уров­нях модели OSI, проявляется в том, что каждый протокол добавляет заголовок (header) или (в одном случае) трейлер (footer) к информа­ции, которую он получил от уровня, расположенного выше. Напри­мер, приложение генерирует запрос к сетевому ресурсу. Этот запрос продвигается по стеку протоколов вниз. Когда он достигает транспорт­ного уровня, протоколы этого уровня добавляют к запросу собствен­ный заголовок, состоящий из полей с информацией, специфической для функций данного протокола. Сам исходный запрос становится для протокола транспортного уровня полем данных (полезной нагрузкой). Добавив свой заголовок, протокол транспортного уровня переда­ет запрос сетевому уровню. Протокол сетевого уровня добавляет к заголовку протокола транспортного уровня свой собственный заго­ловок. Таким образом, для протокола сетевого уровня полезной на­грузкой становятся исходный запрос и заголовок протокола тран­спортного уровня. Вся эта конструкция становится полезной нагруз­кой для протокола канального уровня, который добавляет к ней заго­ловок и трейлер. Итогом этой деятельности является пакет (packet), готовый для передачи по сети. Когда пакет достигает места назначения, процесс повторяется в обратном порядке. Протокол каждого следующего уровня стека (теперь снизу вверх) обрабатывает и удаля­ет заголовок эквивалентного протокола передающей системы. Когда процесс завершен, исходный запрос достигает приложения которо­му он предназначен, в том же виде, в каком он был сгенерирован. Процесс добавления заголовков к запросу (рис. 1.8), сгенериро­ ванному приложением, называется инкапсуляцией данных (data encap­sulation). По сути эта процедура напоминает процесс подготовки письма для отправки по почте. Запрос - это само письмо, а добавле­ние заголовков аналогично вкладыванию письма в конверт, написа­нию адреса, штемпелеванию и собственно отправке.

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

На самом нижнем уровне модели OSI - физическом (physical) - оп­ределяются характеристики элементов оборудования сети - сетевая среда, способ установки, тип сигналов, используемых для передачи по сети двоичных данных. Кроме того, на физическом уровне опре­деляется, какой тип сетевого адаптера нужно установить на каждом компьютере и какой использовать концентратор (если это нужно). На физическом уровне мы имеем дело с медным или оптоволоконным кабелем или с каким-либо беспроводным соединением. В ЛВС спецификации физического уровня напрямую связаны с используюемым в сети протоколом канального уровня. Выбрав протокол канального уровня, Вы должны использовать одну из спецификаций физического уровня, поддерживаемую этим протоколом. Например, протокол канального уровня Ethernet поддерживает несколько различных вариантов физического уровня - один из двух типов коаксиального кабеля, любой кабель типа «витая пара», оптоволоконный кабель. Параметры каждого из этих вариантов формируются из многочисленных сведений о требованиях физического уровня, например, к типу кабеля и разъемов, допустимой длине кабелей, числу концентраторов и др. Соблюдение этих требований необходимо для нормальной работы протоколов. Например, в чересчур длинном кабеле система Ethernet может не заметить коллизию пакетов, а если система не в состоянии обнаружить ошибки, она не может и исправить их, результат - потеря данных. Стандартом протокола канального уровня определяются не все аспекты физического уровня. Некоторые из них определяются отдельно. Одна из наиболее часто используемых спецификаций физического уровня описана в документе «Commercial Building Telecommunications Cabling Standard», известном как EIA/TIA 568A. Он опубликован совместно Американским национальным институтом стан дартов (American National Standards Institute, ANSI), Ассоциации от раслей электронной промышленности (Electronics Industry Association, EIA) и Ассоциацией промышленности средств связи (Telecommunications Industry Association, TIA). В этот документ включено подробное описание кабелей для сетей передачи данных в промышленных условиях, в том числе минимальное расстояние от источников электромагнитных помех и другие правила прокладки кабеля. Сегодня кладку кабеля в больших сетях чаще всего поручают специализированным фирмам. Нанятый подрядчик должен быть хорошо знаком с EIA/TIA 568A и другими подобными документами, а также с правилами эксплуатации зданий в городе. Другой коммуникационный элемент, определяемый на физическом уровне, - тип сигнала для передачи данных по сетевой среде. Для кабелей с медной основой таким сигналом является электрический заряд, для оптоволоконного кабеля - световой импульс. В сетевых средах других типов могут использоваться радиоволны, инфракрасные импульсы и другие сигналы. Помимо природы сигналов, на физическом уровне устанавливается схема их передачи, т. е. комбинация электрических зарядов или световых импульсов, используемая для кодирования двоичной информации, которая сгенерирована вы­шестоящими уровнями. В системах Ethernet применяется схема пе­редачи сигналов, известная как манчестерская кодировка (Manchester encoding), а в системах Token Ring используется дифференциальная манчестерская (Differential Manchester) схема.

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

Протокол канального (data-link) уровня обеспечивает обмен инфор­мацией между аппаратной частью включенного в сеть компьютера и сетевым ПО. Он подготавливает для отправки в сеть данные, пере­данные ему протоколом сетевого уровня, и передает на сетевой уро­вень данные, полученные системой из сети. При проектировании и создании ЛВС используемый протокол ка­нального уровня - самый важный фактор для выбора оборудования и способа его установки. Для реализации протокола канального уровня необходимо следующее аппаратное и программное обеспечение: адаптеры сетевого интерфейса (если адаптер представляет собой отдельное устройство, подключаемое к шине, его называют пла­той сетевого интерфейса или просто сетевой платой); драйверы сетевого адаптера; сетевые кабели (или другая сетевая среда) и вспомогательное со­ единительное оборудование; сетевые концентраторы (в некоторых случаях). Как сетевые адаптеры, так и концентраторы разрабатываются для определенных протоколов канального уровня. Некоторые сетевые кабели также приспособлены для конкретных протоколов, но есть и кабели, подходящие для разных протоколов. Безусловно, сегодня (как и всегда) самый популярный протокол канального уровня - Ethernet. Далеко отстал от него Token Ring, за которым следуют другие протоколы, например, FDDI (Fiber Dist­ributed Data Interface). В спецификацию протокола канального уров­ня обычно включаются три основных элемента: формат кадра (т. е. заголовок и трейлер, добавляемые к данным сетевого уровня перед передачей в сеть); механизм контроля доступа к сетевой среде; одна или несколько спецификаций физического уровня, приме­няемые с данным протоколом.

Формат кадра

Протокол канального уровня добавляет к данным, полученным от протокола сетевого уровня, заголовок и трейлер, превращая их в кадр (frame) (рис. 1.9). Если снова прибегнуть к аналогии с почтой, заголовок и трейлер - это конверт для отправки письма. В них содержатся адреса системы-отправителя и системы-получателя пакета. Для протоколов ЛВС, подобных Ethernet и Token Ring, эти адреса представляют собой 6-байтные шестнадцатеричные строки, присвоенные сетевым адаптерам на заводе-изготовителе. Они, в отличие от адресов, используемых на других уровнях модели OSI, называются аппа ратными адресами (hardware address) или МАС-адресами (см. ниже).

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

Важно понимать, что протоколы канального уровня обеспечива­ют связь только между компьютерами одной и той же ЛВС. Аппарат­ный адрес в заголовке всегда принадлежит компьютеру в той же ЛВС, даже если целевая система находится в другой сети. Другие важные функции кадра канального уровня - идентифика­ция протокола сетевого уровня, сгенерировавшего данные в пакете, и информация для обнаружения ошибок. На сетевом уровне могут использоваться различные протоколы, и потому в кадр протокола канального уровня обычно включается код, с помощью которого можно установить, какой именно протокол сетевого уровня сгенери­ровал данные в этом пакете. Руководствуясь этим кодом, протокол канального уровня компьютера-получателя пересылает данные соот­ветствующему протоколу своего сетевого уровня. Для выявления ошибок передающая система вычисляет цикличес­ кий избыточный код (cyclical redundancy check, CRC) полезной нагруз­ки и записывает его в трейлер кадра. Получив пакет, целевой компью­тер выполняет те же вычисления и сравнивает результат с содержи­мым трейлера. Если результаты совпадают, информация передана без ошибок. В противном случае получатель предполагает, что пакет ис­ порчен, и не принимает его.

Управление доступом к среде

Компьютеры в ЛВС обычно используют общую полудуплексную се­тевую среду. При этом вполне возможно, что передавать данные нач­нут одновременно два компьютера. В таких случаях происходит свое­го рода столкновение пакетов, коллизия (collision), при котором дан­ ные в обоих пакетах теряются. Одна из главных функций протокола канального уровня - управление доступом к сетевой среде (media access control, MAC), т. е. контроль за передачей данных каждым из компьютеров и сведение к минимуму случаев столкновения пакетов. Механизм управления доступом к среде - одна из важнейших ха­ рактеристик протокола канального уровня. В Ethernet для управле­ния доступом к среде используется механизм с контролем несущей и обнаружением коллизий (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). В некоторых других протоколах, например, в Token Ring, используется передача маркера (token passing).

Спецификации физического уровня

Протоколы канального уровня, используемые в ЛВС, часто поддер­живают более одной сетевой среды, и в стандарт протокола включе­ны одна или несколько спецификаций физического уровня. Каналь­ный и физический уровни тесно связаны, т. к. свойства сетевой сре­ды существенно влияют на то, как протокол управляет доступом к среде. Поэтому можно сказать, что в локальных сетях протоколы ка­нального уровня осуществляют также функции физического уровня. В глобальных сетях используются протоколы канального уровня, в которые информация физического уровня не включается, например, SLIP (Serial Line Internet Protocol) и РРР (Point-to-Point Protocol).

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

На первый взгляд может показаться, что сетевой (network) уровень дублирует некоторые функции канального уровня. Но это не так: про­токолы сетевого уровня «отвечают» за сквозные (end-to-end) связи, тогда как протоколы канального уровня функционируют только в пределах ЛВС. Иными словами, протоколы сетевого уровня полнос­тью обеспечивают передачу пакета от исходной до целевой системы. В зависимости от типа сети, отправитель и получатель могут нахо­диться в одной ЛВС, в различных ЛВС в пределах одного здания или в ЛВС, разделенных тысячами километров. Например, когда Вы свя­зываетесь с сервером в Интернете, на пути к нему пакеты, созданные Вашим компьютером, проходят через десятки сетей. Подстраиваясь под эти сети, протокол канального уровня неоднократно изменится, но протокол сетевого уровня на всем пути останется тем же самым. Краеугольным камнем набора протоколов TCP/IP (Transmission Control Protocol/Internet Protocol) и наиболее часто используемым протоколом сетевого уровня является протокол IP (Internet Protocol). У Novell NetWare есть собственный сетевой протокол IPX (Inter­network Packet Exchange), а в небольших сетях Microsoft Windows обычно используется протокол NetBEUI (NetBIOS Enhanced User Interface). Большинство функций, приписываемых сетевому уровню, определяются возможностями протокола IP. Подобно протоколу канального уровня, протокол сетевого уровня добавляет заголовок к данным, которые он получил от вышестояще­го уровня (рис. 1.10). Элемент данных, созданный протоколом сете­вого уровня, состоит из данных транспортного уровня и заголовка сетевого уровня и называется дейтаграммой (datagram).


Адресация

Заголовок протокола сетевого уровня, как и заголовок протокола ка­нального уровня, содержит поля с адресами исходной и целевой сис­тем. Однако в данном случае адрес целевой системы принадлежит конечному назначению пакета и может отличаться от адреса получа­теля в заголовке протокола канального уровня. Например, когда Вы вводите в адресной строке браузера адрес Web-узла, в пакете, сгене­рированном Вашим компьютером, в качестве адреса целевой систе­мы сетевого уровня указан адрес Web-сервера, тогда как на канальном уровне на целевую систему указывает адрес маршрутизатора в Вашей ЛВС, обеспечивающего выход в Интернет. В IP используется собственная система адресации, которая совер­шенно не зависит от адресов канального уровня. Каждому компьюте­ру в сети с протоколом IP вручную или автоматически назначается 32-битовый IP- адрес, идентифицирующий как сам компьютер, так и сеть, в которой он находится. В IPX же для идентификации самого компьютера используется аппаратный адрес, кроме того, специаль­ный адрес используется для идентификации сети, в которой находит­ся компьютер. В NetBEUI компьютеры различаются по NetBIOS-именам, присваиваемым каждой системе во время ее установки.

Фрагментация

Дейтаграммам сетевого уровня на пути к месту назначения приходит­ся проходить через множество сетей, сталкиваясь при этом со специ­ фическими свойствами и ограничениями различных протоколов ка­нального уровня. Одно из таких ограничений - максимальный раз­мер пакета, разрешенный протоколом. Например, размер кадра Token Ring может достигать 4500 байт, тогда как размер кадров Ethernet не может превышать 1500 байтов. Когда большая дейтаграмма, сформи­рованная в сети Token Ring, передается в сеть Ethernet, протокол се­тевого уровня должен разбить ее на несколько фрагментов размером не более 1500 байт. Этот процесс называется фрагментацией (frag­ mentation). В процессе фрагментации протокол сетевого уровня разбивает дейтаграмму на фрагменты, размер которых соответствует возможно­стям используемого протокола канального уровня. Каждый фрагмент становится самостоятельным пакетом и продолжает путь к целевой системе сетевого уровня. Исходная дейтаграмма формируется лишь после того, как места назначения достигнут все фрагменты. Иногда на пути к целевой системе фрагменты, на которые разбита дейта­грамма, приходится фрагментировать повторно.

Маршрутизация

Маршрутизацией (routing) называется процесс выбора в интерсети самого эффективного маршрута для передачи дейтаграмм от систе­мы-отправителя к системе-получателю. В сложных интерсетях, на­пример, в Интернете или больших корпоративных сетях, часто от од­ного компьютера к другому можно добраться несколькими путями. Проектировщики сетей специально создают избыточные связи, что­бы трафик нашел дорогу к месту назначения даже в случае сбоя одно­ го из маршрутизаторов. С помощью маршрутизаторов соединяют отдельные ЛВС, входя­щие в интерсеть. Назначение маршрутизатора - принимать входя­щий трафик от одной сети и передавать его конкретной системе в другой. В интерсетях различают системы двух видов: оконечные (end systems) и промежуточные (intermediate systems). Оконечные системы являются отправителями и получателями пакетов. Маршрутизатор - промежуточная система. В оконечных системах используются все семь уровней модели OSI, тогда как пакеты, поступающие в проме­жуточные системы, не поднимаются выше сетевого уровня. Там мар­шрутизатор обрабатывает пакет и отправляет его вниз по стеку для передачи следующей целевой системе (рис. 1.11).


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

Идентификация протокола транспортного уровня

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

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

Функции, выполняемые протоколами транспортного (transport) уров­ня, дополняют функции протоколов сетевого уровня. Часто протоко­лы этих уровней, используемые для передачи данных, образуют взаи­ мосвязанную пару, что видно на примере TCP/IP: протокол TCP функционирует на транспортном уровне, IP - на сетевом. В боль­шинстве наборов протоколов имеется два или несколько протоколов транспортного уровня, выполняющих разные функции. Альтернати­вой TCP является протокол UDP (User Datagram Protocol). В набор протоколов IPX также включено несколько протоколов транспортно­го уровня, в том числе NCP (NetWare Core Protocol) и SPX (Sequenced Packet Exchange). Разница между протоколами транспортного уровня из определен­ного набора заключается в том, что некоторые из них ориентированы на соединение, а другие - нет. Системы, использующие протокол, ориентированный на соединение (connection-oriented), перед передачей данных обмениваются сообщениями, чтобы установить связь друг с другом. Это гарантирует, что системы включены и готовы к работе. Протокол TCP, например, ориентирован на соединение. Когда Вы с помощью браузера подключаетесь к серверу Интернета, браузер и сервер для установления связи сначала выполняют так называемое трехшаговое рукопожатие (three-way handshake). Лишь после этого браузер передает серверу адрес нужной Web-страницы. Когда переда­ча данных завершена, системы выполняют такое же рукопожатие для прекращения связи. Кроме того, протоколы, ориентированные на соединение, выпол­няют дополнительные действия, например, отправляют сигнал подтверждения приема пакета, сегментируют данные, управляют пото­ком, а также обнаруживают и исправляют ошибки. Как правило, про­токолы этого типа используются для передачи больших объемов ин­формации, в которых не должно содержаться ни единого ошибочно­го бита, например, файлов данных или программ. Дополнительные функции протоколов с ориентацией на соединение гарантируют корректную передачу данных. Вот почему эти протоколы часто называ­ют надежными (reliable). Надежность в данном случае является техни­ческим термином и означает, что каждый передаваемый пакет проверяется на наличие ошибок, кроме того, система-отправитель уведом­ляется о доставке каждого пакета. Недостаток протоколов этого типа состоит в значительном объеме управляющих данных, которыми об­мениваются две системы. Во-первых, дополнительные сообщения передаются при установлении и завершении связи. Во-вторых, заго­ловок, добавляемый к пакету протоколом с ориентацией на соедине­ние, существенно превосходит по размеру заголовок протокола, не ориентированного на соединение. Например, заголовок протокола TCP/IP занимает 20 байтов, а заголовок UDP - 8 байтов. Протокол, не ориентированный на соединение (connectionless), не устанавливает соединение между двумя системами до передачи дан­ных. Отправитель просто передает информацию целевой системе, не беспокоясь о том, готова ли она принять данные и существует ли эта система вообще. Обычно системы прибегают к протоколам, не ориентированным на соединение, например, к UDP, для коротких транзакций, состоящих только из запросов и ответных сигналов. Ответный сигнал от получателя неявно выполняет функцию сигнала подтверждения о передаче.

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

Протоколы транспортного уровня (как и сетевого и канального уровней) обычно содержат информацию с вышестоящих уровней. Например, в заголовки TCP и UDP включаются номера портов, иден­тифицирующие приложение, породившее пакет, и приложение, ко­торому он предназначен. На сеансовом (session) уровне начинается существенное расхождение между реально применяемыми протоколами и моделью OSI. В отли­чие от нижестоящих уровней, выделенных протоколов сеансового уровня не существует. Функции этого уровня интегрированы в про­токолы, которые выполняют также функции представительского и прикладного уровней. Транспортный, сетевой, канальный и физичес­кий уровни занимаются собственно передачей данных по сети. Про­токолы сеансового и вышестоящих уровней к процессу связи отно­шения не имеют. К сеансовому уровню относятся 22 службы, многие из которых задают способы обмена информацией между системами, включенными в сеть. Наиболее важны службы управления диалогом и разделения диалога. Обмен информацией между двумя системами в сети называется диалогом (dialog). Управление диалогом (dialog control) заключается в выборе режима, в котором системы будут обмениваться сообщения­ми. Таких режимов два: полудуплексный (two-way alternate, TWA) и дуплексный (two-way simultaneous, TWS). В полудуплексном режиме две системы вместе с данными передают также маркеры. Передавать информацию можно только компьютеру, у которого в данный момент находится маркер. Так удается избежать столкновения сообщений в пути. Дуплексная модель сложнее. Маркеров в ней нет; обе системы могут передавать данные в любой момент, даже одновременно. Разделение диалога (dialog separation) состоит во включении в по­ток данных контрольных точек (checkpoints), позволяющих синхро­низировать работу двух систем. Степень сложности разделения диа­лога зависит от того, в каком режиме он осуществляется. В полудуп­ лексном режиме системы выполняют малую синхронизацию, заклю­чающуюся в обмене сообщениями о контрольных точках. В дуплекс­ном режиме системы выполняют полную синхронизацию с помощью главного/активного маркера.

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

На представительском (presentation) уровне выполняется единствен­ная функция: трансляция синтаксиса между различными системами. Иногда компьютеры в сети применяют разные синтаксисы. Предста­вительский уровень позволяет им «договориться» об общем синтак­сисе для обмена данными. Устанавливая соединение на представи­тельском уровне, системы обмениваются сообщениями с информа­ цией о том, какие синтаксисы в них имеются, и выбирают тот, кото­рый они будут использовать во время сеанса. У обеих систем, участвующих в соединении, есть абстрактный синтаксис (abstract syntax) - их «родная» форма связи. Абстрактные синтаксисы различных компьютерных платформ могут отличаться. В процессе согласования системы выбирают общий синтаксис передачи данных (transfer syntax). Передающая система преобразует свой абст­рактный синтаксис в синтаксис передачи данных, а система-получа­тель по завершению передачи - наоборот. При необходимости сис­тема может выбрать синтаксис передачи данных с дополнительными функциями, например, сжатием или шифрованием данных.

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

Прикладной уровень - это точка входа, через которую программы получают доступ к модели OSI и сетевым ресурсам. Большинство про­ токолов прикладного уровня предоставляет службы доступа к сети. Например, протоколом SMTP (Simple Mail Transfer Protocol) боль­шинство программ электронной почты пользуется для отправки со­общений. Другие протоколы прикладного уровня, например, FTP (File Transfer Protocol), сами являются программами. В протоколы прикладного уровня часто включают функции сеан­сового и представительского уровня. В результате типичный стек про­токолов содержит четыре отдельных протокола, которые работают на прикладном, транспортном, сетевом и канальном уровнях.

Предлагаемая эталонная модель 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 в России и СНГ (Москва).

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

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

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

Рис. 1.10. Модель OSI

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

Взаимодействие уровней модели OSI

Модель OSI можно разделить на две различных модели, как показано на рис. 1.11:

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

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

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

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

В горизонтальной модели двум программам требуется общий протокол для обмена данными. В вертикальной модели соседние уровни обмениваются данными с использованием интерфейсов прикладных программ API (Application Programming Interface).

Рис. 1.11. Схема взаимодействия компьютеров в базовой эталонной модели OSI

Перед подачей в сеть данные разбиваются на пакеты. Пакет (packet) – это единица информации, передаваемая между станциями сети.

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

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

Рис. 1.12. Формирование пакета каждого уровня семиуровневой модели

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

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

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

Рис. 1.13. Функции уровней модели OSI

Рассматриваемая модель определяет взаимодействие открытых систем разных производителей в одной сети. Поэтому она выполняет для них координирующие действия по:

Взаимодействию прикладных процессов;

Формам представления данных;

Единообразному хранению данных;

Управлению сетевыми ресурсами;

Безопасности данных и защите информации;

Диагностике программ и технических средств.

Прикладной уровень (Application layer)

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

В действительности прикладной уровень – это набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например с помощью протокола электронной почты. Специальные элементы прикладного сервиса обеспечивают сервис для конкретных прикладных программ, таких как программы пересылки файлов и эмуляции терминалов. Если, например программе необходимо переслать файлы, то обязательно будет использован протокол передачи, доступа и управления файлами FTAM (File Transfer, Access, and Management). В модели OSI прикладная программа, которой нужно выполнить конкретную задачу (например, обновить базу данных на компьютере), посылает конкретные данные в виде Дейтаграммы на прикладной уровень. Одна из основных задач этого уровня – определить, как следует обрабатывать запрос прикладной программы, другими словами, какой вид должен принять данный запрос.

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

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

1. Выполнение различных видов работ.

Передача файлов;

Управление заданиями;

Управление системой и т. д;

2. Идентификация пользователей по их паролям, адресам, электронным подписям;

3. Определение функционирующих абонентов и возможности доступа к новым прикладным процессам;

4. Определение достаточности имеющихся ресурсов;

5. Организация запросов на соединение с другими прикладными процессами;

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

7. Выбор процедур планируемого диалога процессов;

8. Управление данными, которыми обмениваются прикладные процессы и синхронизация взаимодействия прикладных процессов;

9. Определение качества обслуживания (время доставки блоков данных, допустимой частоты ошибок);

10. Соглашение об исправлении ошибок и определении достоверности данных;

11. Согласование ограничений, накладываемых на синтаксис (наборы символов, структура данных).

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

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

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

К числу наиболее распространенных протоколов верхних трех уровней относятся:

FTP (File Transfer Protocol) протокол передачи файлов;

TFTP (Trivial File Transfer Protocol) простейший протокол пересылки файлов;

X.400 электронная почта;

Telnet работа с удаленным терминалом;

SMTP (Simple Mail Transfer Protocol) простой протокол почтового обмена;

CMIP (Common Management Information Protocol) общий протокол управления информацией;

SLIP (Serial Line IP) IP для последовательных линий. Протокол последовательной посимвольной передачи данных;

SNMP (Simple Network Management Protocol) простой протокол сетевого управления;

FTAM (File Transfer, Access, and Management) протокол передачи, доступа и управления файлами.

Уровень представления данных (Presentation layer)

Функции данного уровня – представление данных, передаваемых между прикладными процессами, в нужной форме.

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

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

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

1. Генерация запросов на установление сеансов взаимодействия прикладных процессов.

2. Согласование представления данных между прикладными процессами.

3. Реализация форм представления данных.

4. Представление графического материала (чертежей, рисунков, схем).

5. Засекречивание данных.

6. Передача запросов на прекращение сеансов.

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

Сеансовый уровень (Session layer)

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

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

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

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

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

Дуплексной (процессы будут передавать данные, и принимать их одновременно).

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

Сеансовый уровень обеспечивает выполнение следующих функций:

1. Установление и завершение на сеансовом уровне соединения между взаимодействующими системами.

2. Выполнение нормального и срочного обмена данными между прикладными процессами.

3. Управление взаимодействием прикладных процессов.

4. Синхронизация сеансовых соединений.

5. Извещение прикладных процессов об исключительных ситуациях.

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

7. Прерывание в нужных случаях прикладного процесса и его корректное возобновление.

8. Прекращение сеанса без потери данных.

9. Передача особых сообщений о ходе проведения сеанса.

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

Транспортный уровень (Transport Layer)

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

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

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

В функции транспортного уровня входят:

1. Управление передачей по сети и обеспечение целостности блоков данных.

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

3. Восстановление передачи после отказов и неисправностей.

4. Укрупнение или разделение блоков данных.

5. Предоставление приоритетов при передаче блоков (нормальная или срочная).

6. Подтверждение передачи.

7. Ликвидация блоков при тупиковых ситуациях в сети.

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

Наиболее распространенные протоколы транспортного уровня включают в себя:

TCP (Transmission Control Protocol) протокол управления передачей стека TCP/IP;

UDP (User Datagram Protocol) пользовательский протокол дейтаграмм стека TCP/IP;

NCP (NetWare Core Protocol) базовый протокол сетей NetWare;

SPX (Sequenced Packet eXchange) упорядоченный обмен пакетами стека Novell;

TP4 (Transmission Protocol) – протокол передачи класса 4.

Сетевой уровень (Network Layer)

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

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

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

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

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

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

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

Сетевой уровень выполняет функции:

1. Создание сетевых соединений и идентификация их портов.

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

3. Управление потоками пакетов.

4. Организация (упорядочение) последовательностей пакетов.

5. Маршрутизация и коммутация.

6. Сегментирование и объединение пакетов.

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

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

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

IP (Internet Protocol) протокол Internet, сетевой протокол стека TCP/IP, который предоставляет адресную и маршрутную информацию;

IPX (Internetwork Packet Exchange) протокол межсетевого обмена пакетами, предназначенный для адресации и маршрутизации пакетов в сетях Novell;

X.25 международный стандарт для глобальных коммуникаций с коммутацией пакетов (частично этот протокол реализован на уровне 2);

CLNP (Connection Less Network Protocol) сетевой протокол без организации соединений.

Канальный уровень (Data Link)

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

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

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

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

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

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

LLC (Logical Link Control) управление логическим каналом осуществляет логический контроль связи. Подуровень LLC обеспечивает обслуживание сетевого уровня и связан с передачей и приемом пользовательских сообщений.

MAC (Media Assess Control) контроль доступа к среде. Подуровень MAC регулирует доступ к разделяемой физической среде (передача маркера или обнаружение коллизий или столкновений) и управляет доступом к каналу связи. Подуровень LLC находится выше подуровня МАC.

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

При больших размерах передаваемых блоков данных канальный уровень делит их на кадры и передает кадры в виде последовательностей.

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

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

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

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

2. Организация и передача кадров.

3. Обнаружение и исправление ошибок.

4. Управление потоками данных.

5. Обеспечение прозрачности логических каналов (передачи по ним данных, закодированных любым способом).

Наиболее часто используемые протоколы на канальном уровне включают:

HDLC (High Level Data Link Control) протокол управления каналом передачи данных высокого уровня, для последовательных соединений;

IEEE 802.2 LLC (тип I и тип II) обеспечивают MAC для сред 802.x;

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

Token ring сетевая технология по стандарту IEEE 802.5, использующая кольцевую топологию и метод доступа к кольцу с передачей маркера;

FDDI (Fiber Distributed Date Interface Station) сетевая технология по стандарту IEEE 802.6, использующая оптоволоконный носитель;

X.25 международный стандарт для глобальных коммуникаций с коммутацией пакетов;

Frame relay сеть, организованная из технологий Х25 и ISDN.

Физический уровень (Physical Layer)

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

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

Физический уровень состоит из Подуровня стыковки со средой и Подуровня преобразования передачи.

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

Тип кабелей и разъемов;

Разводку контактов в разъемах;

Схему кодирования сигналов для значений 0 и 1.

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

1. Установление и разъединение физических соединений.

2. Передача сигналов в последовательном коде и прием.

3. Прослушивание, в нужных случаях, каналов.

4. Идентификация каналов.

5. Оповещение о появлении неисправностей и отказов.

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

Рис. 1.14. Физический уровень беспроводной локальной сети

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

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

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

К числу наиболее распространенных спецификаций физического уровня относятся:

EIA-RS-232-C, CCITT V.24/V.28 – механические/электрические характеристики несбалансированного последовательного интерфейса;

EIA-RS-422/449, CCITT V.10 – механические, электрические и оптические характеристики сбалансированного последовательного интерфейса;

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

Token ring – сетевая технология по стандарту IEEE 802.5, использующая кольцевую топологию и метод доступа к кольцу с передачей маркера.

Лучшие статьи по теме