logo search
2 / ИСС / Основы сетевых технологий

3.1 Модель osi

В начале 80-х годов международная организация по стандартизации (International Standardization Organization- ISO) разработаламодель OSI, которая сыграла значительную роль в развитии сетей.

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

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

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

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

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

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

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

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

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

Рисунок 52 . Эталонная модель взаимодействия открытых систем ( ISO/0 SI ).

Наряду с терминомсообщение (message)существуют и другие термины, применяемые сетевыми специалистами для обозначения единиц данных в процедурах обмена. В стандартах ISOдля обозначения единиц данных, с которыми имеют дело протоколы разных уровней,используется общее названиепротокольный блок данных (Protocol DataUnit, PDU)Для обозначения блоков данных определенных уровней часто используются специальные названиякадр (frame), пакет (packet), дейтаграмма(datagram), сегмент (segment).

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

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

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

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

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

Физический

На этом уровне модели OSIопределяются следующие характеристики сетевых компонентов:

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

· разделение каналов связи с использованием частотного и временного мультиплексирования.

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

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

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

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

Протоколы канального уровня реализуются для достижения следующих основных целей:

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

· обнаружения (а иногда и исправления) ошибок при передаче;

· управления потоками данных (для устройств,работающих на этом уровне модели OSI, например мостов (bridge));

· идентификации компьютеров в сети по их физическим адресам.

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

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

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

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

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

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

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

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

На сетевом уровне работают протоколы еще одного типа, которые отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов - Address ResolutionProtocol,ARP.Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют их сути. Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействияIPстекаTCP/IPи протокол межсетевого обмена пакетами IPX стека Novell.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FTP- протокол переноса файлов;

TFTP- упрощенный протокол переноса файлов;

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

Telnet;

SMTP- простой протокол почтового обмена;

CMIP - общий протокол управления информацией;

SNMP- простой протокол управления сетью;

NFS- сетевая файловая система;

Разумеется, в настоящее время основным используемым семейством протоколов является TCP/IP, разработка которого не была связана с модельюOSI. За все время существования моделиOSIона не была реализована (что говорится один-в-один), и, по-видимому, не будет реализована никогда. Сегодня используется только некоторое подмножество моделиOSI. Считается, что модель слишком сложна, а её реализация займёт слишком много времени.