Несмотря на то что «звезда» наиболее дорогостоящая в использовании по сравнению с другими топологиями, благодаря своей надежности и высокой скорости передачи данных она уже практически стала стандартом. Большую роль играет также тот факт, что принятый уже достаточно давно стандарт ATX подразумевает наличие на материнской плате персонального компьютера интегрированного сетевого адаптера, который изначально предназначен для работы с этой топологией.
Глава 3
Модель ISO/OSI
Функционирование сети подчиняется определенным теоретическим правилам. В качестве такой теоретической основы выступает свод правил и стандартов, которые описывают так называемую модель взаимодействия открытых систем (Open System Interconnection, OSI). Основным разработчиком модели является Международная организация по стандартизации (International Standards Organization, ISO), поэтому очень часто используется более короткое название – модель ISO/OSI.
Согласно модели ISO/OSI существует семь уровней, пройдя через которые, данные от одного компьютера могут быть переданы другому компьютеру, и абсолютно не важно, какая операционная система при этом используется и каким образом данные попадают от источника к адресату.
Уровни имеют названия и расположены в следующем порядке: физический канальный, сетевой, транспортный, сеансовый, уровень представления данных и прикладной уровень. Данные могут передаваться как в указанном, так и в обратном порядке. Так, при передаче данные начинают свое движение с прикладного уровня и доходят до физического уровня, который представляет собой среду передачи данных. Если же данные принимаются, то они проходят путь от физического до прикладного уровня (рис. 3.1).
Рис. 3.1. Схематическое отображение модели ISO/OSI
Описанная модель является стандартом для любой среды передачи данных, которых на сегодня используется три: кабель, радиоволны и инфракрасное излучение. Однако, в зависимости от среды передачи данных, имеются определенные различия в работе физического и канального уровней модели ISO/OSI, в чем вы сможете убедиться далее.
Каждый уровень отвечает только за свою часть подготовки данных к приему или передаче, что в результате позволяет сделать процесс передачи/приема максимально эффективным и, самое главное, независимым от среды передачи данных, а также обойти вопрос совместимости оборудования, которое используется для этого.
Как уже было упомянуто выше, модель ISO/OSI состоит из семи уровней, а именно:
? физический – передача и прием электрических сигналов;
? канальный – управление каналом связи и доступом к среде передачи данных;
? сетевой – определение оптимальных маршрутов передачи данных;
? транспортный – контроль целостности и правильности данных в процессе передачи и приема данных;
? сеансовый – создание, сопровождение и поддержание сеанса связи;
? уровень представления – кодирование и шифрование данных с помощью требуемых алгоритмов;
? прикладной – взаимодействие с клиентскими программами.
Данные между разными уровнями модели передаются посредством стандартных интерфейсов и протоколов передачи данных, главная задача которых – обработка полученных данных и приведение их к тому виду, который необходим для работы следующего уровня. Более подробно о разных протоколах передачи данных вы сможете узнать далее.
Физический уровень
Физический уровень (Physical Layer) является самым нижним в модели ISO/OSI. Он работает непосредственно с имеющимся каналом связи. Его главная задача – преобразование поступивших от вышестоящего уровня данных и передача соответствующих им электрических сигналов по существующему каналу связи получателю, а также прием данных от отправителя и их конвертация согласно существующим таблицам кодирования сигналов.
Прежде чем начать передачу электрических сигналов, алгоритмы физического уровня определяют тип канала связи и его свойства: электротехнические и механические характеристики, величину напряжений, расстояние между отправителем и получателем, скорость передачи данных и т. д., то есть все, что является критичным для передачи данных. Именно на этом этапе определяется, сеть какого типа используется (проводная или беспроводная), а также выясняется топология сети.
Функции физического уровня выполняют сетевые адаптеры на отправителе и получателе, а также повторители сигнала, например концентратор.
Стандартизация на уровне модели ISO/OSI позволяет использовать в сети оборудование разных производителей, не заботясь при этом об их совместимости, что позволяет сосредоточиться только на процессе передачи и приема данных.
Канальный уровень
Задача канального уровня (Data Link Layer) – обеспечение гарантированной передачи данных через физический канал, параметры и особенности которого уже установлены и «приняты во внимание» на физическом уровне. При этом решаются вопросы физической адресации, корректности отправленной и полученной информации, контроля возникающих ошибок, управления потоком информации и т. д.
Данные передаются блоками, которые называются кадрами. К каждому кадру добавляется несколько бит информации о типе кадра, а также контрольная сумма, которая сверяется при его получении адресатом. При несовпадении контрольных сумм запрашивается повторная передача кадра и данные синхронизируются.
Что касается локальных сетей, то за работу канального уровня отвечают два подуровня:
? MAC (Medium Access Control) – уровень доступа к разделяемой среде;
? LLC (Logical Link Control) – уровень управления логическим каналом.
Уровень MAC отвечает за получение доступа к общей среде передачи данных, в связи с чем каждый протокол передачи данных имеет соответствующую процедуру доступа. Кроме того, MAC отвечает за согласование режимов работы канального и физического уровней (дуплексный и полудуплексный режим соответственно), буферизацию фреймов и т. д.
Уровень LLC имеет три разные процедуры, отвечающие за качество доставки данных.
? LLC1 – без установления соединения и без подтверждения доставки. Данная процедура управления каналом позволяет передавать данные с максимальной скоростью, для чего используются датаграммы.
? LLC2 – с установлением соединения и подтверждением доставки. Этот вид управления каналом наиболее надежный. Он позволяет гарантированно доставлять данные и получать подтверждения о доставке. На этом уровне работает система контроля ошибок, которая дает возможность восстанавливать поврежденные блоки данных и упорядочивать их последовательность. Подобная система функционирует благодаря нумерации кадров, что позволяет запрашивать ошибочные кадры и упорядочивать их.
? LLC3 – без установления соединения, но с подтверждением доставки. Данный тип управления каналом достаточно специфичен и часто используется в процессах, которые требуют быстрой передачи данных, но с подтверждением доставки. Как правило, это необходимо для разного рода процессов, происходящих в режиме реального времени, когда временные затраты очень критичны. В этом случае передача следующего кадра осуществляется только после подтверждения доставки предыдущего.
Таким образом, LLC-уровень умеет передавать данные либо с помощью датаграмм, либо с использованием процедур с обеспечением качества передачи.
Канальный уровень может реализовываться как на аппаратном уровне (например, с помощью коммутаторов), так и с применением программного обеспечения (допустим, драйвера сетевого адаптера).
Сетевой уровень
Сетевой (Network Layer) – один из важнейших уровней модели взаимодействия открытых систем. Поскольку для построения сети могут использоваться различные технологии и, а сеть может состоять из нескольких сегментов с абсолютно разными сетевыми топологиями, чтобы «подружить» эти сегменты, требуется соответствующий механизм. В качестве такого механизма и выступает сетевой уровень.
Кроме определения физических адресов всех участников сети, данный уровень отвечает за нахождение кратчайших путей доставки данных, то есть выполняет маршрутизацию пакетов. При этом постоянно отслеживается состояние сети и определяются новые маршруты, если возникают «заторы» на пути следования данных. Благодаря маршрутизации данные всегда доставляются с максимальной скоростью.
Сетевой уровень для доставки данных между разными сетевыми сегментами использует особую адресацию. Так, вместо MAC-адресов применяется пара чисел – номер сети и номер компьютера в этой сети. Использование нумерации позволяет составить точную карту сети независимо от топологии сегментов и определять альтернативные пути передачи данных.
На практике функции сетевого уровня выполняет маршрутизатор.
Транспортный уровень
Транспортный уровень (Transport Layer) служит для организации гарантированной доставки данных, для чего используется подготовленный канал связи. При этом отслеживается правильная последовательность передачи и приема пакетов, восстанавливаются потерянные или отсеиваются дублирующие. При необходимости данные фрагментируются (разбиваются на более мелкие пакеты) или дефрагментируются (объединяются в большой пакет), что повышает надежность доставки данных и их целостность.
На транспортном уровне предусмотрено пять классов сервиса с различными уровнями надежности. Они различаются скоростью, возможностями восстановления данных и т. д. Например, некоторые классы работают без предварительной установки связи и не гарантируют доставку пакетов в правильной последовательности. В этом случае за выбор маршрута отвечают промежуточные устройства, которые попадают на пути следования данных. Классы с установкой связи начинают свою работу с установки маршрута и только после того, как маршрут будет определен, начинают последовательную передачу данных.
Благодаря такому подходу всегда можно найти компромисс между скоростью и качеством доставки данных.
Сеансовый уровень
Сеансовый уровень (Session Layer) используется для создания и управления сеансом связи на время, необходимое для передачи данных. Время сеанса зависит лишь от объема информации, которая должна быть передана. Поскольку этот объем может быть существенным, используются разные механизмы, контролирующие данный процесс.
Для управления сеансом применяется маркер, обладатель которого гарантирует себе право на связь. Кроме того, используются служебные сообщения, с помощью которых стороны могут, например, договариваться о способе передаче данных или сообщать о завершении передачи данных и освобождении маркера.
Чтобы передача данных была успешной, создаются специальные контрольные точки, которые позволяют начать повторную передачу данных практически с того места, на котором произошел непредвиденный обрыв связи. В данном случае работают также механизмы синхронизации данных, определяются права на передачу данных, поддерживается связь в периоды неактивности и т. п.
Уровень представления данных