- •Экзаменационные вопросы вмсс 3-мд-5,6 (осень-2008)
- •Аналоговые схемы
- •Цифровые схемы
- •Высоконадежная память:
- •Внешние интерфейсы компьютера
- •Внутренние интерфейсы компьютера
- •1. Дублирование информации
- •2. Контрольная сумма
- •3. Контроль паритета
- •4. Двухмерный контроль паритета
- •5. Код Хемминга
- •Циклические коды crc
1. Дублирование информации
Данный метод является простейшим видом контроля, заключающимся в повторной передаче данных. Достоинство метода дублирования информации: простая реализация. Недостаток: снижение пропускной способности в два раза из-за высокой избыточности.
2. Контрольная сумма
Контрольные суммы используются для обнаружения ошибок в протоколах UDP (User Datаgramm Protocol) транспортного уровня компьютерных сетей (Интернет).
Помехоустойчивое кодирование методом контрольной суммы позволяет:
Обнаруживать одиночные ошибки.
Обнаруживать множественные ошибки.
3. Контроль паритета
Помехоустойчивое кодирование методом контроля паритета позволяет:
1. Обнаруживать одиночные ошибки.
2. Обнаруживать ошибки нечетной кратности (ошибки одновременно в одном, трех, пяти и т.д. битах).
Контроль паритета не позволяет обнаруживать ошибки четной кратности (ошибки одновременно в двух, четырех, шести и т.д. битах).
При контроле паритета передающий узел вычисляет один контрольный бит паритета Р для данных Dn-1Dn-2…D1D0 (обычно n = 5, 6, 7, 8 бит). Различают два типа контроля паритета (parity – соответствие, аналогия): по четности и по нечетно-сти.
При контроле по четности сумма единичных битов данного и бита паритета является четным числом. При контроле по нечетности сумма единичных битов данного и бита паритета является нечетным числом.
4. Двухмерный контроль паритета
Двухмерный контроль паритета позволяет:
Обнаруживать и исправлять одиночные ошибки.
Обнаруживать двойные ошибки.
Способность приемника обнаруживать и исправлять ошибки называют прямым исправлением ошибок (Forward Error Correction, FEC). Двухмерный контроль паритета применяются в устройствах хранения данных. Такие методы При двухмерном контроле вычисляются множественные биты паритета четности.
5. Код Хемминга
Помехоустойчивое кодирование методом Хемминга позволяет:
- обнаруживать одиночные ошибки;
- исправлять одиночные ошибки.
Метод основан на перекрестном вычислении битов паритета.
Основными свойствами кода Хемминга являются:
- расстояние по Хеммингу;
- минимальное расстояние по Хеммингу;
- вес Хемминга.
Расстоянием по Хеммингу d(x,y) называется число позиций, в которых различаются два n-разрядных кода.
Минимальным расстоянием d* называется наименьшее из всех расстояний по Хеммингу между различными парами всех n-разрядных кодов.
Весом Хемминга w(x) называется число ненулевых компонент n-разрядного кода.
Циклические коды crc
Циклический избыточный контроль CRC (Cyclic redundancy check) - это метод обнаружения ошибок с использованием полиномиального кода. Полиномы представляют собой альтернативную запись чисел в двоичной системе. Например, двоичному числу 1100 соответствует полином .
Для полиномов определяются операции сложения, вычитания, умножения и деления, которые используются для кодирования и декодирования сообщения. Особенностью всех арифметических операций над полиномами является отсутствие переносов и заемов.
Правила полиномиального арифметического сложения без переноса:
0 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 0.
Правила полиномиального арифметического вычитания без переноса:
0 - 0 = 0; 0 - 1 = 1; 1 - 0 = 1; 1 - 1 = 0.
Полиномиальные арифметическое сложение и вычитания соответствуют логической операции сумма по модулю два: 0 0=0; 0 1=1; 1 0=1; 1 1=0.
Правила полиномиального арифметического умножения выполняются по обычным правилам арифметического умножения:
0 0 = 0; 0 1 = 0; 1 0 = 0; 1 1 = 1.
Сложение промежуточных результатов умножения выполняется по правилам полиномиального арифметического сложения без переноса (сумма по модулю два).
Двухмерный контроль четности
При передаче данных по компьютерным сетям от передающего узла к приемному узлу, принимаются меры по защите информации от воздействия помех. Помехи могут искажать данные, приводя к изменению одного или нескольких битов на противоположное значение (0 на 1 или 1 на 0). Для повышения достоверности передаваемых данных применяют помехоустойчивое кодирование.
Помехоустойчивое кодирование основано на теории кодов, контролирующих ошибки, техническая задача, которых состоит в защите цифровых данных от появляющихся в процессе передачи по каналам связи ошибок.
Контрольные суммы.
Контро́льная су́мма — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении. Так же контрольные суммы могут использоваться для быстрого сравнения двух наборов данных на неэквивалентность: с большой вероятностью различные наборы данных будут иметь неравные контрольные суммы.
Несложные, крайне быстрые и легко реализуемые аппаратные алгоритмы, используемые для защиты от непреднамеренных искажений, в том числе ошибок аппаратуры.
По скорости вычисления в десятки и сотни раз быстрее, чем криптографические хеш-функции, и значительно проще в аппаратной реализации.
Платой за столь высокую скорость является отсутствие криптостойкости — лёгкая возможность подогнать сообщение под заранее известную сумму. Также обычно разрядность контрольных сумм (типичное число: 32 бита) ниже, чем криптографических хешей (типичные числа: 128, 160 и 256 бит), что означает возможность возникновения непреднамеренных коллизий.
Простейшим случаем такого алгоритма является деление сообщения на 32- или 16- битные слова и их суммирование, что применяется, например, в TCP/IP.
Как правило, к такому алгоритму предъявляются требования отслеживания типичных аппаратных ошибок, таких, как несколько подряд идущих ошибочных бит до заданной длины. Семейство алгоритмов т. н. «циклических избыточных кодов» удовлетворяет этим требованиям. К ним относится, например, CRC32, применяемый в аппаратуре Ethernet и в формате упакованных файлов ZIP.
Контрольная сумма является хеш-функцией, используемой для вычисления контрольного кода — небольшого количества бит внутри большого блока данных, например, сетевого пакета или блока компьютерного файла, применяемого для обнаружения ошибок при передаче или хранении информации. Значение контрольной суммы добавляется в конец блока данных непосредственно перед началом передачи или записи данных на какой-либо носитель информации. Впоследствии оно проверяется для подтверждения целостности данных.
Циклический избыточный код — алгоритм вычисления контрольной суммы, предназначенный для проверки целостности передаваемых данных. Алгоритм CRC обнаруживает все одиночные ошибки, двойные ошибки и ошибки в нечетном числе битов.
Хеширование — преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины.