DATA LINK LAYER

Image

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

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

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

Поля кадра

  • HEADER > Он содержит адреса источника и назначения кадра и байты управления.

дополнительно HEADER хранит в себе три контрольных поля > kind - информация о наличии данных > seq - последовательность > ack - подтверждение

  • PAYLOAD

Содержит сообщение для доставки.

  • TRAILER

Содержит биты обнаружения и исправления ошибок. Это также называется проверочной последовательностью кадров (FCS).

  • FLAG

Два флага на двух концах отмечают начало и конец кадра.

Методы объявления флагов

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

  • Использование сигнальных байтов с символьным заполнением

Данный метод предполагает добавления специальной последовательности одного байта вначале и в конце. Это решает проблему определения при потере данных путем сравнения первого и последнего байта.

  • Использование сигнальных битов с битовым заполнением

Данный метод обходит недостатки символьного заполнения, которые предполагает обработку исключительно байтов. Использование данного метода позволяет делить данные произвольным количеством бит. Каждый кадр начинается с определенной последовательностью бит [01111110] or (0x7E). Да, это все тот же байт, но принимающей стороне необходимо лишь встретить первые 5 единиц, после которых следует 0, это позволяет определить, что после нее следует начало следующего поля данных.

Протокол канального уровня

PPP (Point - to Point Protocol)

Включает:

  • Метод формирования кадров, однозначно обозначающий начало и конец. Формат позволяет определить наличие ошибок.

  • Включает в себя возможность управления, подключения, тестирование, договоренность параметров использования каналов связи.

text

Кадр начинает с флага 0x7E, которые принимающая сторона легко может определить как флаг начала.

Далее идет поле с адресом, которое всегда (11111111) или broadcast.

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

Поле протокол определяет тип пакета (данные уровня выше).

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

Контрольная сумма - 2 или 4 байта, которые используется для определения ошибок, для определения используется метод CRC (Cyclic RedunDancy Check - циклически избыточный код)

На этом все, далее мы перейдем на уровень выше, а именно в Network Layer.