Уровень канала передачи данных - Data link layer

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

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

Примерами протоколов передачи данных являются Ethernet , протокол точка-точка (PPP), HDLC и ADCCP . В пакете Интернет-протоколов (TCP / IP) функциональные возможности канального уровня содержатся в канальном уровне , самом нижнем уровне описательной модели, который, как предполагается, не зависит от физической инфраструктуры.

Функция

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

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

В некоторых сетях, таких как локальные сети IEEE 802 , уровень канала данных описывается более подробно с подуровнями управления доступом к среде (MAC) и управления логическим каналом (LLC); это означает, что протокол IEEE 802.2 LLC может использоваться со всеми уровнями MAC IEEE 802, такими как Ethernet, Token Ring , IEEE 802.11 и т. д., а также с некоторыми уровнями MAC, отличными от 802, такими как FDDI . Другие протоколы канального уровня, такие как HDLC , указаны для включения обоих подуровней, хотя некоторые другие протоколы, такие как Cisco HDLC , используют кадрирование низкого уровня HDLC в качестве уровня MAC в сочетании с другим уровнем LLC. В стандарте ITU-T G.hn , который обеспечивает способ создания высокоскоростной (до 1 Гбит / с) локальной сети с использованием существующей домашней проводки ( линии электропередач , телефонные линии и коаксиальные кабели ), уровень канала передачи данных разделен на три подуровня (конвергенция прикладных протоколов, управление логическим каналом и управление доступом к среде).

Подслои

Уровень канала передачи данных часто делится на два подуровня: управление логическим каналом (LLC) и управление доступом к среде передачи (MAC).

Подуровень управления логической связью

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

Подуровень управления доступом к среде

MAC может относиться к подуровню, который определяет, кому разрешен доступ к носителю в любой момент (например, CSMA / CD ). В других случаях это относится к структуре кадра, доставляемой на основе MAC-адресов внутри.

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

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

  • Подход, основанный на времени, предполагает определенный промежуток времени между кадрами.
  • Подсчет символов отслеживает количество оставшихся символов в заголовке кадра. Однако этот метод легко нарушить, если это поле повреждено.
  • Заполнение байтов предшествует кадру специальной последовательностью байтов, такой как DLE STX, и следует за ней с помощью DLE ETX . Появления DLE (байтовое значение 0x10) необходимо экранировать с помощью другого DLE. Метки начала и остановки обнаруживаются на приемнике и удаляются вместе с вставленными символами DLE.
  • Точно так же вставка битов заменяет эти начальные и конечные метки на флаги, состоящие из специального битового шаблона (например, 0, шесть 1 бит и 0). Появление этой битовой комбинации в передаваемых данных предотвращается путем вставки бита. Чтобы использовать пример с флагом 01111110, 0 вставляется после 5 последовательных 1 в потоке данных. Флаги и вставленные 0 удаляются на принимающей стороне. Это делает кадры произвольной длины и упрощает синхронизацию для получателя. Заполненный бит добавляется, даже если следующий бит данных равен 0, что не может быть ошибочно принято за последовательность синхронизации , так что приемник может однозначно отличить заполненные биты от нормальных битов.

Услуги

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

Обнаружение и исправление ошибок

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

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

ЧАС E L L О
8 5 12 12 15

Простым примером того, как это работает с использованием метаданных, является передача слова «ПРИВЕТ» путем кодирования каждой буквы как ее позиции в алфавите. Таким образом, буква A кодируется как 1, B как 2 и так далее, как показано в таблице справа. Сложение полученных чисел дает 8 + 5 + 12 + 12 + 15 = 52, а 5 + 2 = 7 вычисляет метаданные. Наконец, передается последовательность номеров «8 5 12 12 15 7», которую приемник увидит на своем конце, если нет ошибок передачи. Получатель знает, что последнее полученное число - это метаданные для обнаружения ошибок, а все предыдущие данные - это сообщение, поэтому получатель может пересчитать приведенную выше математику и, если метаданные совпадают, можно сделать вывод, что данные были получены без ошибок. Однако, если получатель видит что-то вроде последовательности «7 5 12 12 15 7» (первый элемент изменен из-за некоторой ошибки), он может запустить проверку, вычислив 7 + 5 + 12 + 12 + 15 = 51 и 5 + 1 = 6, и отклонить полученные данные как дефектные, так как 6 не равно 7.

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

Примеры протоколов

Отношение к модели TCP / IP

В пакете Интернет-протоколов (TCP / IP) функциональные возможности канального уровня OSI содержатся на самом нижнем уровне - канальном уровне . Канальный уровень TCP / IP имеет рабочую область связи, к которой подключен хост, и занимается только аппаратными проблемами, вплоть до получения аппаратных (MAC) адресов для определения местоположения хостов в канале и передачи кадров данных по каналу. Функциональность канального уровня была описана в RFC 1122 и определяется иначе, чем канальный уровень OSI, и охватывает все методы, которые влияют на локальную связь.

Модель TCP / IP не является исчерпывающим руководством по проектированию сетей сверху вниз. Он был сформулирован с целью иллюстрации логических групп и объемов функций, необходимых при разработке набора межсетевых протоколов TCP / IP, необходимых для работы в Интернете. В общем, следует избегать прямого или строгого сравнения моделей OSI и TCP / IP, потому что разделение на уровни в TCP / IP не является основным критерием проектирования и, как правило, считается «вредным» (RFC 3439). В частности, TCP / IP не диктует строгую иерархическую последовательность требований инкапсуляции, как это приписывается протоколам OSI.

Смотрите также

использованная литература

внешние ссылки