Протоколы канального уровня добавляют концевик в конец каждого кадра. Концевик используется для того, чтобы определить, есть ли в принятом кадре ошибки. Этот процесс называется обнаружением ошибок и реализуется путем размещения специальных кодов (битовых последовательностей) в концевике кадра. Обнаружение ошибок добавляется на канальном уровне, т. к. сигналы в среде могут быть подвержены помехам, искажениям или потерям, которые изменят значения битов, представленных сигналами. Такие коды (коды обнаружения и исправления ошибок) вычисляются по специальным математическим алгоритмам.
Передающий узел вычисляет специальный код на основе содержания кадра. Этот код называется CRC-кодом (Cyclic redundancy check code — циклическим избыточным кодом). Это значение размещено в поле контрольной последовательности кадра (FCS) и вычисляется на основе содержимого кадра.
Нажмите на рисунке поля «FCS» и «Остановка кадра», чтобы получить подробные сведения.
Когда кадр прибывает на узел места назначения, узел вычисляет значение CRC кадра. Принимающий узел сравнивает эти два значения CRC. Если значения совпадают, то считается, что кадр получен без потерь. Если значение CRC отличается от значения CRC, рассчитанного на принимающем узле, то кадр сбрасывается.
Таким образом, поле «FCS» используется, чтобы выявить наличие ошибок при передаче и приёме кадра. Механизм обнаружения ошибок, осуществляемый с помощью поля «FCS», обнаруживает большинство ошибок, полученных в среде.
Всегда существует небольшая вероятность того, что кадр с правильным расчетом CRC действительно повреждён. Ошибки в битах могут отменить друг друга при расчете CRC. Для обнаружения и исправления потерь данных понадобятся протоколы верхнего уровня.