Функции физического уровня выполняют сетевые адаптеры на отправителе и получателе, а также повторители сигнала, например концентратор.
Стандартизация на уровне модели 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) служит для организации гарантированной доставки данных, для чего используется подготовленный канал связи. При этом отслеживается правильная последовательность передачи и приема пакетов, восстанавливаются потерянные или отсеиваются дублирующие. При необходимости данные фрагментируются (разбиваются на более мелкие пакеты) или дефрагментируются (объединяются в большой пакет), что повышает надежность доставки данных и их целостность.