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

Канальный уровень (data link layer) является первым уровнем (если идти снизу вверх), который работает в режиме коммутации пакетов. На этом уровне PDU обычно носит название кадр (frame).

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

□ В локальных сетях канальный уровень должен обеспечивать доставку кадра между любыми узлами сети. При этом предполагается, что сеть имеет типо­вую топологию, например общую шину, кольцо, звезду или дерево (иерархи­ческую звезду). Примерами технологий локальных сетей, применение кото­рых ограничено типовыми топологиями, являются Ethernet, FDDI, Token Ring.

□ В глобальных сетях канальный уровень должен обеспечивать доставку кадра только между двумя соседними узлами, соединенными индивидуальной лини­ей связи. Примерами двухточечных протоколов (как часто называют такие протоколы) могут служить широко распространенные протоколы РРР и HDLC. На основе двухточечных связей могут быть построены сети произвольной то­пологии.

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

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

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

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

Однако прежде, чем переправить кадр физическому уровню для непосредствен­ной передачи данных в сеть, канальному уровню может потребоваться решить еще одну важную задачу. Если в сети используется разделяемая среда, то прежде чем физический уровень начнет передавать данные, канальный уровень должен проверить доступность среды. Функции проверки доступности разделяемой среды иногда выделяют в отдельный подуровень управления доступом к среде (Media Access Control, MAC).

Если разделяемая среда освободилась (когда она не используется, то такая про­верка, конечно, пропускается), кадр передается средствами физического уровня в сеть, проходит по каналу связи и поступает в виде последовательности битов в распоряжение физического уровня узла назначения. Этот уровень в свою оче­редь передает полученные биты «наверх» канальному уровню своего узла. По­следний группирует биты в кадры, снова вычисляет контрольную сумму полу­ченных данных и сравнивает результат с контрольной суммой, переданной в кадре. Если они совпадают, кадр считается правильным. Если же контрольные суммы не совпадают, фиксируется ошибка. В функции канального уровня входит не только обнаружение ошибок, но и исправление их за счет повторной передачи поврежденных кадров. Однако эта функция не является обязательной и в неко­торых реализациях канального уровня она отсутствует, например в Ethernet, Token Ring, FDDI и Frame Relay.

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: