методы обнаружения ошибок
Отличную передачу информации реализуют разные методы. Нужно учитывать по какой топологии происходит передача данных: Ethernet, token ring, PDH, dwdm. В этой статье рассмотрим самокорректирующихся кодов, которые не только обнаруживают ошибки но и исправляют их. Это очень важно при передачи информации для контроля удаленного доступа.
Функции выявления ошибок реализуются на транспортировке в составе блока избыточной служебной информации, по которой смотрят степень достоверности принятой информации.В сетях с коммутацией пакетов такой единицей данных может быть PDU различного уровня. Поэтому для точности будем считать, что мы работаем с кадрами.
Избыточную информацию называют контрольной последовательностью кадра, или контрольной суммой. Контрольная сума считается как функция от основной массы данных, причем это не обязательно функция суммирования. Сторона которая принимает информацию еще раз считает контрольную сумму кадра по на катаному шаблону и если есть совпадение, то делается вывод что данные были переданы корректно. Избыточные пакеты бывают из-за алгоритма покрывающего дерева и не правильно работающего сетевого адаптера или концентратора.
Контроль по паритету является наиболее простой метод контроля данных. При этом это самый менее мощный метод контроля, так как он выявляет только одиночные ошибки в данных. Принцип действия таков, что он суммирует все биты пакета по модулю 2. Несложно увидеть, что если информация имеет нечетное число единиц, то результат контрольной суммы будет равен — 1, при четном — 0. Итог суммирования записывается в один дополнительный бит, который передается вместе данными пакета. При передачи данных, если произошло искажение любого одного бита данных, то после суммирования будет видно что результаты отличаются. Однако двойная ошибка, то есть искажение произошло на 2,4 и тд битов, будет не выявлена и неверная информация будет пропущена. А пропущенная искаженная информация уже создает угрозы информационной безопасности. Поэтому метод применяется к небольшим пересылкам данных, обычно к каждому байту, что дает характер избыточности 1/8. В компьютерных сетях метод редко применяется из-за невысоких диагностических функций да и значительной избыточности. Искажения возникают из-за не правильных характеристик проводных линий связи.
Горизонтальный и вертикальный контроль по паритету является по сути измененной версией выше описанного метода. Отличие в том, что начальные данные смотрятся в виде матрицы, строчки которых являются байты информации. Контрольный разряд считает для каждой строки и каждого столбика матрицы. Этот метод выявляет многую часть двойных ошибок, но все еще имеет большую избыточность. Впринципи он все так же почти не применяется в информационных сетях.
Циклический избыточный контроль представляется как наиболее используемым методом контроля в информационных сетях. Частично могу решать проблемы защиты информации в сетях. Также широко используется при записи информации на жесткие или другие диски. Принцип действия таков, что он смотрит начальные данные в виде одного багаторозрядного двоичного числа. К примеру, кадр Ethernet который состоит из 1024 байт, будет расценен как число из 8192 бит.Контрольные данные считают остаток от деления числа на известный делитель R. Традиционно делитель выбирают с количеством разрядов 17 или 33, что бы остаток от деления приходился на 16 разрядов (2 байт) или 32 разряда (4 байт). Когда кадр приходит на пункт приема, считается остаток на тот же делитель, и если остаток равна нулю, то ошибок нету, в ином случае можно считать что кадр был искажен. Этот метод имеет высокую вычислительную сложность. Но при этом диагностические возможности гораздо выше. Этот метод выявляет все двойные ошибки, одиночные и ошибки в нечетном числе битов. К примеру кадр Ethernet — 1024 байт имеет контрольную информацию 4 байта, что есть 0,4% от всего объема. Также нужно учитывать Полосу пропускания и пропускную способность канала передачи.
Техники кодирования позволяют приемник не только выявить возможные ошибки, но и исправлять их. Коды, которые реализуют исправление ошибок, требуют значительно большей избыточности в транспортируемой информации, чем те коды которые обнаруживают ошибки. Выбор техники кодирования должны быть согласованы в политике безопасности организации.
При использовании любого избыточного кода не все комбинации кодов есть разрешенными. К примеру, если есть контроль трех информационных битов, то разрешенными будут 4-битные коды и дополнением:
000 1, 001 0, 010 0, 011 1, 100 0, 101 1, 110 1, 111 0, то есть 8 кодов из 16 возможных. Также можете посмотреть пример шифрования RSA
Чтобы проанализировать количество дополнительных битов, нужных для исправления ошибок, нужно знать расстояние между разрешенными комбинациями кода (Хемминга).Расстояние Хемминга называют наименьшее число битовых разрядов, где отличается рандомная пара разрешенных кодов. Длина Хемминга равна 2 для схем контроля по паритету. Если мы создали избыточный код с длиной хемминга — n, то такой код сможет увидеть (n-1)-кратные ошибки и изменять (n-1)/2-кратные ошибки.
Коды Хемминга отлично находят и исправляют ошибки, даже изолированные, то есть искаженные отдельные биты которые могут быть разделены большим количеством правильных битов. Коды исправления есть частично одним из методов защиты информации Однако при пульсации ошибок(большая длина искаженных битов), коды Хемминга не помогают. Пульсации ошибок применимы для беспроводных каналов, где используются сверточные коды. Также они могу возникать при коммутации каналов и пакетов.
Смотрите также: