Что такое последовательность проверки кадров?

Опубликовано: 16 Сентября, 2022

Последовательность проверки кадра (FCS) относится к дополнительным битам, добавляемым к кадру для обнаружения ошибок. Он используется для обнаружения ошибок HDLC. Это 2-байтовое или 4-байтовое поле, которое используется для обнаружения ошибок в поле адреса, поле управления и информационное поле кадров, передаваемых по сети. Он используется для обеспечения того, чтобы кадр данных не был поврежден средой передачи при отправке его от отправителя к получателю.

Функции:

  • Это код обнаружения ошибок, присутствующий в кадрах HDLC.
  • Его размер варьируется от 2 байт до 4 байт.
  • Он используется в протоколе связи.
  • Он отвечает только за обнаружение ошибок, а не за устранение ошибок.
  • Тип используемого метода FCS зависит от протокола, используемого в сети.

Цель:

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

FCS используется только для обнаружения ошибок и не содержит подробностей об устранении ошибок. Техника устранения ошибок полностью основана на протоколе передачи. Ниже приведены примеры, демонстрирующие, как различные протоколы реагируют на ошибки, обнаруженные с помощью FCS:

  1. Ethernet, протокол канального уровня указывает, что кадр данных должен быть отброшен в случае обнаружения ошибки, и не предпринимает никаких действий для устранения ошибки. Если отправитель отправляет какое-либо сообщение адресату с использованием протокола Ethernet, сообщение делится на кадры данных с битами FCS, прикрепленными к каждому кадру, после чего эти кадры передаются по среде. Если какой-либо из кадров будет поврежден во время передачи, его биты FCS будут изменены. В пункте назначения FCS вычисляется и сравнивается с битами FCS каждого кадра, и FCS поврежденного кадра не будет соответствовать рассчитанному FCS, и, следовательно, кадр будет отброшен. Поскольку Ethernet не указывает никаких действий, таких как повторная передача поврежденного кадра в случае обнаружения ошибки, следовательно, данные будут потеряны.
  2. TCP, протокол транспортного уровня, указывает, что кадры данных следует отбрасывать в случае обнаружения ошибок, а также повторно передавать поврежденные кадры и инициировать восстановление после ошибок. Если отправитель отправляет какое-либо сообщение получателю с использованием протокола TCP, сообщение делится на кадры данных с битами FCS, прикрепленными к каждому кадру, после чего эти кадры передаются по среде. Если какой-либо из кадров будет поврежден во время передачи, его биты FCS будут изменены. В месте назначения FCS вычисляется и сравнивается с битами FCS каждого кадра, и FCS поврежденного кадра не будет соответствовать рассчитанному FCS, и, следовательно, кадр будет отброшен. Затем TCP инициирует восстановление после ошибок и повторно передает поврежденные кадры, поэтому в этом случае данные не будут потеряны.

Реализация:

Получатель вычисляет текущую сумму всего кадра с завершающим FCS, затем результат сравнивается с битами FCS кадра, и если результат совпадает, то передача считается успешной, иначе кадр отбрасывается. Как правило, сначала передается MSB (самый значащий бит) FCS, но в качестве альтернативы FCS может быть реверсирован для отправки LSB (сначала наименее значащий бит).

Для вычисления кодов FCS для обнаружения ошибок используются различные методы. Ниже приведены некоторые из методов, которые используются для обнаружения ошибок в передаваемых кадрах:

  1. Простая проверка четности: бит четности добавляется к кадру для обнаружения ошибок. Он бывает двух типов: проверка на нечетность и проверка на четность. При проверке на нечетность бит четности устанавливается в 0, если данные содержат нечетное количество единиц, и в 1, если данные содержат четное количество единиц. При проверке четности бит четности устанавливается в 1, если данные содержат нечетное количество единиц, и в 0, если данные содержат четное количество единиц. Здесь биты четности образуют часть кадра в виде кода FCS.
  2. Двумерная проверка четности: биты четности вычисляются для каждой строки и каждого столбца и добавляются к фрейму данных. Вычисление битов четности для отдельных строк или столбцов аналогично простой проверке четности. В этом методе комбинация битов четности всех строк и столбцов формирует код FCS.
  3. Контрольная сумма: данные делятся на несколько сегментов, и все сегменты добавляются с использованием арифметики с дополнением до 1, а полученная сумма дополняется для получения контрольной суммы. Контрольная сумма отправляется вместе с другими сегментами в пункт назначения, а на стороне получателя сумма всех сегментов вычисляется с использованием дополнения до 1, а затем полученная сумма дополняется. Если окончательный результат равен нулю, то передача считается успешной, иначе кадр отбрасывается. Иногда контрольная сумма рассматривается как код FCS для алгоритма обнаружения ошибок CRC.
  4. Циклическая проверка избыточности (CRC): последовательность избыточных битов добавляется в конец блока данных, чтобы результирующие данные точно делились на заданное двоичное число. Эти биты называются битами проверки циклическим избыточным кодом. На стороне получателя данные делятся на это заранее определенное число, и если остаток равен 0, то кадр принимается, в противном случае он отбрасывается. В этом алгоритме биты циклической избыточности рассматриваются как биты FCS.

Работающий:

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

Например, предположим, что в сети есть два устройства, скажем, A и B, и они используют протокол TCP. A хочет отправить некоторые данные B таким образом, чтобы поврежденные кадры не принимались B, и связь была безошибочной. Итак, A делит данные каждого кадра на несколько сегментов размера m и вычисляет контрольную сумму, суммируя все сегменты, используя дополнение до 1 и добавляя его в конец каждого кадра, а затем передает кадр. Теперь B вычислит текущую сумму кадра вместе с битами FCS, используя дополнение до 1, и если сумма окажется равной нулю, то кадр будет принят B, иначе он будет отброшен. Поскольку сеть следует протоколу TCP, A может повторно передавать поврежденные кадры в случае обнаружения сбоя. Таким образом, общение будет более эффективным, поскольку отсутствие ошибок не приведет к непоследовательности в общении.