Семиуровневая модель структуры протоколов связи
Существуют два основных метода коммутации (соединения абонентов) в сетях – коммутация каналов и коммутация пакетов. Сети с коммутацией каналов исторически появились первыми в виде первых телеграфных и телефонных сетей. Коммутация каналов подразумевает образование составного физического канала из последовательно соединенных отдельных канальных участков для прямой передачи данных между узлами сети
В основе принципа работы большинства компьютерных сетей (в том числе сети Интернет) положен метод пакетной коммутации.
Коммутация пакетов -эта схема была специально разработана для компьютерных сетей, где различные компьютеры сети могут иметь различное быстродействие. Это основной метод коммутации в современных сетях.При коммутации пакетов все передаваемые сообщения разбиваются передающим компьютером на небольшие части (от 46 до 1500 байт), называемые пакетами. Каждый пакет снабжается заголовком, в котором указывается адресная информация, необходимая для доставки пакета к принимающему компьютеру, а также номер пакета, используемый для «сборки» сообщения на принимающем компьютере. Пакеты транспортируются в сети как независимые информационные блоки. Специальные устройства сети коммутаторы принимают пакеты от передающих компьютеров и на основании адресной информации передают их друг другу до конечного принимающего компьютера. За счет буферизации (задержки) пакета во внутренней памяти коммутатора (если требуемый участок сети занят передачей другой информации) выравнивается скорость передачи данных в сети в целом и повышается пропускная способность сети.
С другой стороны, по своей сущности компьютерная сети является совокупностью компьютеров и сетевого оборудования, соединенных каналами связи. Поскольку компьютеры и сетевое оборудование могут быть разных производителей, то возникает проблема их совместимости. Без принятия всеми производителя общепринятых правил построения оборудования создание компьютерной сети было бы невозможно. Поэтому разработка и создание компьютерных сетей может происходить только в рамках утвержденных стандартов.
В основу стандартизации компьютерных сетей положен принцип декомпозиции, т.е. разделения сложных задач на отдельные более простые подзадачи. Каждая подзадача имеет четко определенные функции и строго установленные связи между подзадачами. При более внимательном рассмотрении работы компьютера в сети можно выделить две основные подзадачи:
§ взаимодействие программного обеспечения пользователя с физическим каналом связи (посредством сетевой карты) в пределах одного компьютера
§ взаимодействие компьютера через канал связи с другим компьютером
Современное программное обеспечение компьютера имеет многоуровневую модульную структуру, т.е. программный код, написанный программистом и видимый на экране монитора (модуль верхнего уровня), проходит несколько уровней обработки, прежде чем превратится в электрический сигнал (модуль нижнего уровня), передаваемый в канал связи.
При взаимодействии компьютеров через канал связи оба компьютера должны выполнять ряд соглашений. Например, они должны согласовать величину и форму электрических сигналов, длину сообщений, методы контроля достоверности и т.д. Соглашения должны быть такими, чтобы они были поняты каждым модулем на соответствующе уровне каждого компьютера.
Суть работы многоуровневого протокола можно пояснить как «письмо в конверте». Каждый уровень протокола надписывает на «конверте» свою информацию. Сетям нужно только понимать «надпись» на «конверте», чтобы предать его в место назначения, а до содержания письма им дела нет.
На рис.2.1 схематически показана модель взаимодействия двух компьютеров в сети. Для упрощения показаны четыре уровня модулей для каждого компьютера. Процедура взаимодействие каждого уровня этих компьютеров может быть описана в виде набора правил взаимодействия каждой пары модулей соответствующих уровней.
Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются модули, лежащие на одном уровне, но в различных компьютерах называются протоколами.
Рис. 2.1. Взаимодействие двух компьютеров в сети
Модули, реализующие протоколы соседнего уровня и находящиеся в одном компьютере, также взаимодействуют друг с другом в соответствии с четко определенными правилами и с помощью стандартизованных форматов сообщений. Эти правила называются интерфейсом и определяют набор сервисов, предоставляемых данным уровнем соседнему уровню.
Другими словами, в сетевых технологиях традиционно принято, что протоколы определяют правила взаимодействия модулей одного уровня, но в разных компьютерах, а интерфейсы – соседних уровней в одном компьютере. Модули, таким образом, должны обрабатывать: во- первых свой собственный протокол, а во- вторых интерфейсы с соседними уровнями.
Иерархически организованный набор протоколов для взаимодействия компьютеров в сети называется стеком коммуникационных протоколов.
Коммуникационные протоколы могут быть реализованы как программно, так и аппаратно. Протоколы нижних уровней, как правило, реализуются комбинацией программно-аппаратных средств, а протоколы верхних уровней ‑ чисто программными средствами.
Отметим, что протоколы каждого уровня обладают независимостью друг от друга, т.е. протокол любого уровня может быть изменен, не оказывая при этом никакого влияния на протокол другого уровня. Главное, чтобы интерфейсы между уровнями обеспечивали необходимые связи между ними.
Принцип взаимодействия компьютеров в сети можно объяснить на примере сотрудничества двух фирм. Два генеральных менеджера каждой из фирм осуществляют сделки между собой на основании заключенных договоров и соглашений. Указанные взаимодействия являются «протоколом уровня генеральных менеджеров». На каждой из фирм у менеджеров есть секретари, причем каждый менеджер имеет свой метод и стиль работы с секретарем. Один, например, предпочитает устные указания, а второй дает только письменные распоряжения. Таким образом, каждая фирма имеет свой собственный интерфейс «главный менеджер – секретарь», что не мешает, однако, нормально работать генеральным менеджерам между собой. Секретари в свою очередь договорились обмениваться информацией с помощью факсов, реализуя протокол «секретарь – секретарь». В случае, если секретари перейдут на электронную почту, то генеральные менеджеры этого даже и не заметят- главное, чтобы секретари выполняли их распоряжения, т.е. должен безукоризненно работать интерфейс «менеджер – секретарь». С другой стороны, менеджеры могут заключить совершенно новый договор, т.е. изменить «протокол уровня генеральных менеджеров». Передача не старого, а нового договора на уровне секретарей пройдет для этих секретарей абсолютно не замеченной.
В рассмотренном примере мы определили два уровня протоколов – уровень генеральных менеджеров и уровень секретарей. Каждый из указанных уровней имеет свой собственный протокол, который может быть изменен независимо от протокола другого уровня. Такую независимость обеспечивает правильное функционирование интерфейсов «менеджер – секретарь». Независимость протоколов каждого уровня друг от друга и взаимодействие самих уровней посредством интерфейсов является важнейшей предпосылкой для создания ряда стандартных протоколов для компьютерных сетей.
В начале 80-х была создана модель взаимодействие двух компьютеров в сети, названная OSI (Open system interconnection — взаимодействие открытых систем). Она была предложена Международной организацией по стандартизации (ISO — International Standards Organization). В модели OSI реализована более подробная, семиуровневая архитектура причем каждому из уровней соответствует определенная функция (Рис.2.2.).
Рассмотрим принцип взаимодействия двух компьютеров в рамках модели OSI.
Взаимодействие компьютеров в сети начинается с того, что приложение (программа пользователя) одного компьютера обращается к прикладному уровню другого компьютера, например, к файловой системе. Приложение первого компьютера формирует с помощью операционной системы сообщение стандартного формата, состоящее из заголовка и поля данных.
Заголовок содержит служебную информацию, которую необходимо предать через сеть прикладному уровню другого компьютера, чтобы сообщить ему, какую работу необходимо выполнить. (Например, о размере файла и где он находится). Кроме этого в заголовке имеется информация для следующего нижнего уровня, чтобы он «знал», что делать с этим сообщением. В поле данных находится информация, которую необходимо поместить в найденный файл.
Сформировав сообщение, прикладной уровень направляет его вниз представительному уровню. Прочитав заголовок, представительный уровень выполняет требуемые действия над сообщением и добавляет к сообщению собственную служебную информацию – заголовок представительного уровня, в котором содержаться указания для протоколов представительного уровня второго компьютера. Полученное в результате сообщение передается вниз сеансовому уровню, который в свою очередь добавляет свой заголовок и т.д. При достижении сообщением нижнего, физического уровня, у него имеется множество заголовков, добавленных на каждом предыдущем уровне (сообщение вложено внутрь, как в матрешку). В таком виде оно и передается по сети (Рис.2.3.а).
Второй компьютер принимает его на физическом уровне и последовательно перемещает его вверх с уровня на уровень (Рис.2.3.б). Каждый уровень анализирует и обрабатывает заголовок своего уровня, выполняя соответствующие этому уровню функции, а затем удаляет этот заголовок и передает сообщение дальше вышележащему уровню. Отметим, что сообщение может оканчиваться также некоторой служебной информацией – концевиком». (Например, дополнительными контрольными разрядами).
Как видно из рис 2.3, информация, передающаяся в линию связи содержит большое количество служебных заголовков, которые по величине могут превосходить даже собственно данные. В результате взаимодействия протоколов всех уровней и их единому стандарту на прикладном уровне второго компьютера получаются данные, переданные первым компьютером.
Рис.2.2. Модель OSI
2.3. Взаимодействие компьютеров в сети
В стандарте OSI для обозначения единиц данных, с которыми имеют дело протоколы различных уровней, используются специальные названия: кадр (frame), пакет (packet), дейтаграмма (datagram), сегмент (segment).
Рассмотри подробнее уровни модели OSI.
Физический уровень (Physical layer) имеет дело с передачей битов информации по физическим каналам связи. Такими каналами могут быть, например, коаксиальный кабель, витая пара, оптоволоконный кабель. На этом уровне стандартизируются характеристики электрических сигналов, уровни напряжения и тока, тип кодировки информации, скорость передачи сигналов, а также типы разъемов и назначение каждого контакта.
Канальный уровень (Data Link layer) обеспечивает надежную передачу данных через физический канал. Канальный уровень оперирует блоками данных, называемых кадрами. Основной задачей канального уровня является прием кадра из сети и отправка его в сеть. При выполнении этой задачи канальный уровень осуществляет физическую адресацию передаваемых сообщений, контролирует соблюдение правил использования физического канала, выявляет неисправности, управляет потоками информацию. Примерами протоколов канального уровня для локальных сетей являются протоколы Ethernet, Token Ring, FDDI, для глобальных – PPP, SLIP, LAP-B, LAP- D.
Для реализации протоколов канального уровня используется специальное оборудование: коммутаторы. Раньше использовались концентраторы и мосты, которые в настоящее время сняты с производства.
Сетевой уровень (Network layer) служит для образования единой системы, объединяющей несколько сетей, причем эти сети могут быть различной топологии, использовать совершенно различные принципы сообщений между конечными узлами и обладать произвольной структурой. Сети соединяются между собой специальными устройствами, называемыми маршрутизаторами. Маршрутизатор – это устройство, которое собирает данные о топологии межсетевых соединений и на ее основании пересылает пакеты информации из одной сети в другую. Последовательность маршрутизаторов, через которые проходит пакет, называется маршрутом, а выбор маршрута называется маршрутизацией. Маршрутизация является главной задачей сетевого уровня. На сетевом уровне действуют три протокола: сетевой протокол - для определения правил передачи пакетов от конечных узлов к маршрутизаторам и между маршрутизаторами; протокол маршрутизации - для сбора информации о топологии сети; протокол разрешения адресов- для отображения адреса узла, используемого на сетевом уровне в локальный адрес сети.(ARP -адрес).
Транспортный уровень (Transport layer) предназначен для оптимизации передачи данных от отправителя к получателю с той степенью надежности, которая требуется. Основная задача транспортного уровня- это обнаружение и исправление ошибок в сообщениях, пришедших с описанных выше уровней.
Начиная с транспортного уровня, все дальнейшие протоколы реализуются программным обеспечением компьютера, включаемого обычно в состав сетевой операционной системы.
Сеансовый уровень (Session layer) управляет диалогом между двумя компьютерами. На этом уровне устанавливаются правила начала и завершения взаимодействия. На сеансовом уровне определяется, какая из сторон является активной в данный момент, а какая принимает данные. Приложение должно различать разные потоки данных в пределах одного соединения. Например, приложение может одновременно запрашивать два файла с одного сервера, при этом, благодаря сеансовому уровню, оно будет различать эти два потоки. ?
Представительный уровень (Presentation layer) выполняет преобразование данных между устройствами с различными форматами данных, не меняя при этом содержания. Благодаря этому уровню информация, передаваемая прикладным уровнем одного компьютера всегда понятна прикладному уровню другого компьютера. На этом уровне, как правило, происходит шифрование и дешифрование данных, благодаря которому обеспечивается секретность предаваемого сообщения.
Прикладной уровень (Application layer) является пользовательским интерфейсом для работы с сетью. Этот уровень непосредственно взаимодействует с пользовательскими прикладными программами, предоставляя им доступ в сеть. С помощью протоколов этого уровня пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры, гипертекстовые Web – страницы, электронная почта и т.д.
Необходимо отметить, что три нижних уровня модели OSI – физический, канальный и сетевой ‑- зависят от сети, т.е. их протоколы тесно связаны с технической реализацией сети и с используемым коммутационным оборудованием. Три верхних уровня ‑ сеансовый, представления и прикладной – ориентированы на программное обеспечение и мало зависят от особенностей построения сети (топологии, оборудования и т.д.). Транспортный уровень является промежуточным. Он скрывает детали функционирования нижних уровней от верхних уровней. Благодаря этому уровню можно разрабатывать приложения, не зависящие от технических средств транспортировки сообщений.
Модель OSI является так называемой открытой системой, т.е. она имеет опубликованные, общедоступные спецификации и стандарты, принятые в результате достижения согласия многих разработчиков и пользователей после всестороннего обсуждения. Эта модель доступна всем разработчикам и для ее использования не требуется получения специальных лицензий. Если две сети построены с соблюдением правил открытости то у них есть возможность использования аппаратных и программных средств разных производителей, придерживающихся одного и того же стандарта, такие сети легко сопрягаются друг с другом, просты в освоении и обслуживании.
Дата добавления: 2015-04-03; просмотров: 2637;