Методы обнаружения ошибок
Общая структура кадров, передаваемых в локальных сетях
Кадры бывают трех типов:
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%), данный метод позволяет выявлять все одиночные ошибки, а любое другое количество ошибок в случае, если , где -разрядность контрольной суммы с вероятностью примерно .
Если , тогда .
Пример: имеем исходную последовательность