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

В начале 80-х годов ряд международных организаций разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection). Полное описание этой модели занимает более 1000 страниц текста.

Согласно модели OSI весь процесс взаимодействия систем в сети можно представить как иерархию 7 уровней:

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

6. Представительский уровень (Presentation)

5. Сеансовый уровень (Sission).

4. Транспортный уровень (Transport). 3. Сетевой уровень (Network). 2. Канальный уровень (Data Link). 1. Физический уровень (Physical).

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

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

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

Задача каждого низшего уровня, например N-1, состоит в обеспечении функционирования более высокого уровня N-2.

В модели OSI различают два вида диалога между узлами для передачи информации.

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

2. Диалог без предварительного установления соединения (дейтаграммный диалог). В этом случае отправитель передает сообщение, когда оно готово. Опускание письма в почтовый ящик - пример.

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

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

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

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

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

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

Трафик - это объем информации, передаваемый по сети.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель OSI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эталонная модель взаимодействия открытых систем (OSI -– Open Systems Interconnection )

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

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

6-й уровень - представительный - определяет синтаксис данных в модели, т.е. представление данных. Он гарантирует представление данных в кодах и форматах, принятых в данной системе.

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

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

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

Пакет - группа байтов, передаваемых абонентами сети друг другу.

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

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

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

Обработка сообщений уровнями модели ВОС

Прикладной

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

Сеансовый

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

Канальный

Физический

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

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

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

Преимущества семиуровневой модели.

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

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

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

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

Модель взаимодействия для ЛВС

Для того чтобы учесть требования физической передающей среды, используемой в ЛВС, была произведена некоторая модернизация семиуровневой модели взаимодействия открытых систем для локальных вычислительных сетей. Канальный уровень был разбит на два подуровня. Подуровень LLC (Logical Link Control) обеспечивает управление логическим звеном, т.е. выполняет функции собственно канального уровня. Подуровень MAC (Media Access Control) обеспечивает управление доступом к среде.

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

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

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

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

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

ФИЗИЧЕСКИЙ УРОВЕНЬ. Этот уровень имеет дело с передачей битов по коаксиальному кабелю, витой паре или оптике.

Характеристики физических сред передачи данных: полоса пропускания, помехозащищенность, волновое сопротивление и другие.

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

КАНАЛЬНЫЙ УРОВЕНЬ. На физическом уровне просто пересылаются биты. При этом не учитывается, что физическая среда передачи может быть занята. Поэтому одной из задач канального уровня является проверка доступности среды передачи . Другой задачей канального уровня является реализация механизмов обнаружения и коррекции ошибок . Для этого на канальном уровне биты группируются в наборы , называемые кадрами.



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

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

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

СЕТЕВОЙ УРОВЕНЬ. Этот уровень служит для образования единой транспортной системы , объединяющей несколько сетей с различными принципами передачи информации между конечными узлами.

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

Главная задача сетевого уровня – выбор наилучшего маршрута . Зависит от: времени передачи данных по этому маршруту, пропускной способности каналов связи, интенсивности трафика, надежности передачи.

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

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

ТРАНСПОРТНЫЙ УРОВЕНЬ. Работа транспортного уровня заключается в том, чтобы обеспечить приложениям или верхним уровням стека - прикладному и сеансовому - передачу данных с той степенью надежности , которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное - способностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

СЕАНСОВЫЙ УРОВЕНЬ. Сеансовый уровень обеспечивает управление диалогом для того, чтобы фиксировать, какая из сторон является активной в настоящий момент, а также предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, вместо того, чтобы начинать все с начала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется.

УРОВЕНЬ ПРЕДСТАВЛЕНИЯ. Этот уровень обеспечивает гарантию того, что информация, передаваемая прикладным уровнем, будет понятна прикладному уровню в другой системе. При необходимости уровень представления выполняет преобразование форматов данных в некоторый общий формат представления, а на приеме, соответственно, выполняет обратное преобразование. Таким образом, прикладные уровни могут преодолеть, например, синтаксические различия в представлении данных. На этом уровне может выполняться шифрование и дешифрование данных, благодаря которому секретность обмена данными обеспечивается сразу для всех прикладных сервисов.

ПРИКЛАДНОЙ УРОВЕНЬ. Прикладной уровень - это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message) .

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

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

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

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

Суть протокола - IP (Internet Protocol) состоит в том, что у каждого участника Всемирной сети должен быть свой уникальный адрес (IP-адрес). Без этого нельзя говорить о точной доставке TCP-пакетов на нужное рабочее место. Этот адрес выражается очень просто - четырьмя байтами, например: 195.38.46.11. Структура IP-адреса организована так, что каждый компьютер, через который проходит какой-либо TCP-пакет, может по этим четырем числам определить, кому из ближайших «соседей» надо переслать пакет, чтобы он оказался «ближе» к получателю. В результате конечного числа перебросок ТСР-пакет достигает адресата. В расчет принимаются условия связи и пропускная способность линии. Решением вопросов, что считать «ближе», а что «дальше», занимаются специальные средства - маршрутизаторы Роль маршрутизатора в сети может выполнять как специализированный компьютер, так и специальная программа, работающая на узловом сервере сети.

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

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

Для передачи файлов в Интернете используется специальный прикладной протокол FTP (File Transfer Protocol). Соответственно, чтобы получить из Интернета файл, необходимо:

Иметь на компьютере программу, являющуюся клиентом FTP (FTP-клиент);

Установить связь с сервером, предоставляющим услуги FTP (FTP-сервером).

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

Управление процессом передачи и обработки данных в сети, требует стандартизации следующих процедур:

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

Указанные задачи решаются с помощью системы протоколов и стандартов, определяющих процедуры взаимодействия элементов сети при установлении связи и передаче данных. Протокол - это набор правил и методов взаимодействия объектов вычислитель­ной сети.
Необходимость стандартизации протоколов важна для понимания сетями друг друга при их взаимодействии.
Протоколы для сетей - то же самое, что язык для людей. Говоря на разных язы­ках, люди могут не понимать друг друга, - также и сети, использующие разные протоколы. От эффективности протоколов, их надежности, простоты зависит то, насколько эффективна и удобна вообще работа человека в сети.
Международной организацией по стандартизации (ISO) разработана система стандартных протоколов, получившая название модели взаимодействия открытых систем (OSI), часто называемая также эталонной семиуровневой логической моделью открытых систем.
Открытая система - система, доступная для взаимодействия с другими система­ми в соответствии с принятыми стандартами.
Эта система протоколов базируется на разделении всех процедур взаимодействия на отдельные мелкие уровни, для каждого из которых легче создать стандартные алгоритмы их по­строения.
Модель OSI представляет собой самые общие рекомендации для построения стан­дартов совместимых сетевых программных продуктов, она же служит базой для производителей при разработке совместимого сетевого оборудования. В настоящее время модель взаимодействия открытых систем является наиболее популярной сетевой архитектурной моделью.
В общем случае сеть должна иметь 7 функциональных уровней (табл. 1.1).

Таблица 1.1. Уровни модели OSI

Уровень OSI

Назначение

Примеры протоколов

7 Прикладной

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

Х.400, NCR HTTP, SMTP, FTP, FTAM, SAP, DNS, Telnet и т. д.

6 Представления

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

5 Сеансовый

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

X.225, RPC, NetBEUI и т. д.

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

Обеспечивает надежную, экономичную и «прозрачную» передачу данных между взаимодействующими объектами сеансового уровня

Х.224, TCP, UDP, NSP, SPX, SPP, RH и т. д.

3 Сетевой

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

X.25, X.75, IP, IPX, IDP, TH, DNA-4 и т. д.

2 Канальный

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

LAP-B, HDLC, SNAP, SDLC, IEEE 802.2 и т.д.

1 Физический

Формирует физическую среду передачи данных, устанавливает соединения объектов сети с этой средой

Ethernet, Arcnet, Token Ring, IEEE 802.3, 5

Прикладной уровень (application) - управляет запуском программ пользователя, их выполнением, вводом-выводом данных, управлением терминалами, административным управ­лением сетью. На этом уровне обеспечивается предоставление пользователям раз­личных услуг, связанных с запуском его программ. На этом уровне функционируют технологии, являющиеся как бы надстройкой над передачей данных.
Уровень представления (presentation) - интерпретация и преобразование пере­даваемых в сети данных к виду, удобному для прикладных процессов. На практике многие функции этого уровня задействованы на прикладном уровне, поэтому про­токолы уровня представлений не получили развития и во многих сетях практи­чески не используются.
Сеансовый уровень (session) - организация и проведение сеансов связи между прикладными процессами (инициализация и поддержание сеанса между абонен­тами сети, управление очередностью и режимами передачи данных). Многие функции этого уровня в части установле­ния соединения и поддержания упорядоченного обмена данными на практике реализуются на транспортном уровне, поэтому протоколы сеансового уровня име­ют ограниченное применение.
Транспортный уровень (transport) - управление сегментированием данных и транспорти­ровкой данных от источника к потребителю (т.е. обмен управляющей информацией и установление между абонентами логического канала, обеспечение качества пе­редачи данных). Протоколы транспортного уровня развиты очень широко и интенсивно используются на практике. Большое внимание на этом уровне уделено контролю достоверности передаваемой информации.
Сетевой уровень (network) - управление логическим каналом передачи данных в сети (адресация и маршрутизация данных). Каждый пользователь сети обязательно использует протоколы этого уровня и имеет свой уникальный сетевой адрес, используемый протоколами сетевого уровня. На этом уровне выполняется структуризация данных - разбивка их на пакеты и присвое­ние пакетам сетевых адресов.
Канальный уровень (data-link) - формирование и управление физическим ка­налом передачи данных между объектами сетевого уровня (установление, поддер­жание и разъединение логических каналов), обеспечение “прозрачности” физических соединений, контроля и исправления ошибок передачи.
Физический уровень (physical) - установление, поддержание и расторжение со­единений с физическим каналом сети. Управление выполняется на уров­не битов цифровых (импульсы, их амплитуда, форма) и аналоговых (амплитуда, частота, фаза непрерывного сигнала).

Блоки информации, передаваемые между уровнями, имеют стандартный формат: заголовок (header), служебная информация, данные, концевик. Каждый уровень при передаче блока информации нижестоящему уровню снабжает его своим заго­ловком. Заголовок вышестоящего уровня воспринимается нижестоящим как пе­редаваемые данные.

Средства каждого уровня отрабатывают протокол своего уровня и интерфейсы с со­седними уровнями.
Указанные уровни управления можно по разным признакам объединять в группы:
- уровни 1, 2 и частично 3 реализуются в большей части за счет аппаратных средств; верхние уровни с 4 по 7 и частично 3 обеспечиваются программными средствами;

Уровни 1 и 2 ответственны за физические соединения; уровни 3-6 заняты орга­низацией передачи, передачей и преобразованием информации в понятную для абонентской аппаратуры форму; уровень 7 обеспечивает выполнение приклад­ных программ пользователя.

  • 3. Технологии передачи данных. Ethernet, Token Ring, ISDN, X.25, Frame Relay.
  • 4. Устройства межсетевого интерфейса: повторители, мосты, маршрутизаторы, шлюзы. Методы коммутации и маршрутизации. Способы повышения производительности сети
  • 5 .Одноранговые и серверные сети: сравнительная характеристика. Основные виды специализированных серверов.
  • 6. Технологическая основа сети Интернет. Система адресации (IP-адреса, доменные имена, система DNS). Основные протоколы общения в сети.
  • 7. Базовые пользовательские технологии работы в сети Интернет. WWW, FTP, TELNET, E-MAIL. Поиск информации в сети Интернет.
  • 9. Базы данных: данные, модель данных, база данных, система управления базами данных, информационная система. Модели данных. Реляционная модель данных.
  • 12. Проектирование информационных систем. Структура и модели жизненного цикла.
  • 13. Моделирование и представление структуры предприятия. Диаграммы IDEF0.
  • 14. Моделирование и представление потоков данных. DFD-диаграммы.
  • 16. Экспертные системы (ЭС): понятие, назначение, архитектура, отличительные особенности. Классификация ЭС. Этапы разработки ЭС.
  • 17. Базы знаний экспертных систем. Методы представления знаний: логические модели, продукционные правила, фреймы, семантические сети.
  • 18 Знания. Виды знаний. Методы извлечения знаний: коммуникативные, текстологические.
  • 19 Языки программирования, их характеристики (Пролог, Delphi, C++).
  • 20. Языки программирования, их характеристики (PHP, Perl, JavaScript).
  • 21. Цели, задачи, принципы и основные направления обеспечения информационной безопасности Российской Федерации. Правовая, организационная, инженерно-техническая защита информации.
  • 22. Электронные издания: понятие, состав. Классификация ЭИ. Регистрация ЭИ.
  • 23. Информационные ресурсы: понятие, состав. Государственные информационные ресурсы.
  • 24. Операционная система персонального компьютера как средство управления ресурсами (на примере изучаемой ОС). Структура и компоненты ОС.
  • 25. Вредоносное программное обеспечение: классификации, методы обнаружения и удаления.
  • 26 Структура web-приложений. Протокол HTTP. Cookie. Функции web-приложения. Протокол CGI.
  • 27 Обеспечение надежности работы ИС. Транзакции. OLTP-системы.
  • 28. Эргономические цели и показатели качества программного продукта.
  • 31.Информационный менеджмент: понятие и основные функции.
  • 33 Стандартизация в области программного обеспечения. Стандарты документирования программных средств.
  • 34. Оценка качественных и количественных характеристик информационных систем. Модели оценки характеристик надежности программного и информационного обеспечения. Основные понятия, показатели и методы обеспечения надежности информационных систем.
  • 36.Особенности выполнения инновационных программ в сфере информатизации (характеристика информационной политики в сфере информатизации, принципы формирования проекта и внедрения ИС, управление проектами информатизации).
Похожие публикации