Методы обнаружения ошибок

Общая структура кадров, передаваемых в локальных сетях

Кадры бывают трех типов:

1) информационные

2) управляющие

3) не нумерованные (командные)

Структуру кадра подразделяют на три части:

1) заголовок

2) информационная часть (если она отсутствует, то часто присутствует поле заполнения)

3) окончание кадра (трейлер)

Заголовок состоит:

– преамбула (последовательность из 8 байт: 10101010…, последний байт которой 10101011, для побитовой и побайтовой синхронизации).

– адрес назначения (тот адрес, который прошивается в сетевых картах 2 или 6 байт)

– адрес источника (от кого, 2 или 6 байт)

– поле управления (может быть поле длины информационной части)

Информационная часть: (от 500 байт до 4 КБ, в Ethernet до 1500 байт).

Трейлер – поле контрольной суммы. Иногда данная часть ещё дополняется полем, указывающим на окончание кадра.

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

Раньше использовались примитивные методы обнаружения ошибок:

1) контроль по паритету: избыточность (метод не может распознать две ошибки)

2) контроль по паритету (вертикальный/горизонтальный): отличие от предыдущего – используется матрица (обнаружение несколько лучше)

3) арифметический контроль: есть длинная последовательность битов. Идет подсчет (условно 24 бита) единичек, младшие разряды поученной суммы записываются как служебная информация, под них отводится 2 бита.

В настоящее время при передаче кадров в локальных сетях для обнаружения ошибок применяется метод, который будем называть циклический избыточный контроль. Данный метод основан на рассмотрении исходных данных в виде одного многоразрядного двоичного числа ( -разрядное число). Для вычисления контрольной суммы, это число делится на некоторое постоянное число , выбранное специальным образом (причем делится по модулю 2). Частное от этого деления отбрасывается, а остаток используется в качестве контрольной суммы. Обычно разрядность остатка выбирается либо 16, либо 32 разряда.

На приемной стороне принятая последовательность вновь делится на известное число , и полученный результат сравнивается с принятым:

– Если они совпадают, то считается, что кадр принят правильно.

– Если нет – то не правильно.

Этот метод обладает малой избыточностью (например, для кадра длиной 1024 байта контрольная информация в 4 байта составит 0.4%), данный метод позволяет выявлять все одиночные ошибки, а любое другое количество ошибок в случае, если , где -разрядность контрольной суммы с вероятностью примерно .

Если , тогда .

Пример: имеем исходную последовательность