- •Назначение и типы компьютерных сетей
- •Топология кс
- •Оборудование кс
- •Передача информации в кс
- •Эталонная модель osi
- •Стандартные сетевые протоколы
- •Стандартные компьютерные сети
- •Кодирование информации в локальных сетях
- •Контроль достоверности передачи информации в кс
- •1. Дублирование информации
- •2. Контрольная сумма
- •3. Контроль паритета
- •4. Двухмерный контроль паритета
- •5. Код Хемминга
- •Циклические коды crc
- •Код Манчестер-II
- •Код Манчестер II (дифференциальный)
- •Самосинхронизирующийся код 4в/5в.
3. Контроль паритета
Помехоустойчивое кодирование методом контроля паритета позволяет:
Обнаруживать одиночные ошибки.
Обнаруживать ошибки нечетной кратности (ошибки одновременно в одном, трех, пяти и т.д. битах).
Контроль паритета не позволяет обнаруживать ошибки четной кратности (ошибки одновременно в двух, четырех, шести и т.д. битах).
При контроле паритета передающий узел вычисляет один контрольный бит паритета Р для данных Dn-1Dn-2…D1D0 (обычно n = 5, 6, 7, 8 бит). Различают два типа контроля паритета (parity – соответствие, аналогия): по четности и по нечетности.
При контроле по четности сумма единичных битов данного и бита паритета является четным числом. При контроле по нечетности сумма единичных битов данного и бита паритета является нечетным числом.
Кодирование данных и передача по линии связи :
1. Вычисление бита паритета Р для данного Dn-1Dn-2…D1D0:
Р = (Dn-1 Dn-2 … D1 D0) V,
где V определяет вид используемого паритета (V = 0 – контроль по четности; V = 1 – контроль по нечетности).
2. Формирование сообщения, содержащего данное Dn-1Dn-2…D1D0 и бит паритета Р.
3. Передача сообщения Dn-1Dn-2…D1D0 Р по линии связи.
Прием и проверка данных:
1. Прием сообщения Dn-1Dn-2…D1D0 Р.
2. Вычисление поверочного бита S = (Dn-1 Dn-2 … D1 D0) V;
3. Проверка на наличие ошибок:
- если поверочный бит S = 0, ошибки нет (ошибка не обнаружена);
- если поверочный бит S = 1, ошибка есть.
Бит контроля по четности Рч вычисляется по формуле:
Рч = (Dn-1 Dn-2 … D1 D0) 0
Пример контроля по четности (V = 0).
Кодирование данных и передача по линии связи :
1. Вычисление бита паритета Рч для данного = 1101.
Рч = (1 1 0 1) 0 = (0 0 1) 0 = (0 1) 0 = 1 0 = 1.
2. Формирование сообщения, содержащего данное = 1101 и бит паритета Рч =1.
3. Передача сообщения 1101 1 по линии связи.
Прием и проверка данных (вариант 1 без ошибки):
1. Прием сообщения 1101 1.
2. Вычисление поверочного бита S = (1 1 0 1 1) 0
= (0 0 1 1) 0 = (0 1 1) 0 = (1 1) 0 = 0 0 = 0.
3. Проверка на наличие ошибок:
- поверочный бит S = 0 - ошибки нет.
Прием и проверка данных (вариант 2 с одной ошибкой):
1. Прием сообщения 1101 1..
2. Вычисление поверочного бита S = (1 0 0 1 1) 0
= (1 0 1 1) 0 = (1 1 1) 0 = (0 1) 0 = 1 0 = 1.
3. Проверка на наличие ошибок:
- поверочный бит S = 1 – ошибка есть (одна ошибка обнаружена).
Прием и проверка данных (вариант 3 с двумя ошибками):
1. Прием сообщения 1101 1.
2. Вычисление поверочного бита S = (1 0 1 1 1) 0
= (1 1 1 1) 0 = (0 1 1) 0 = (1 1) 0 = 1 0 = 0.
3. Проверка на наличие ошибок:
- поверочный бит S = 0 – ошибка не обнаружена (ошибки четной кратности не обнаруживаются).
Прием и проверка данных (вариант 3 с тремя ошибками):
1. Прием сообщения = 1101 1.
2. Вычисление поверочного бита S = (1 0 1 0 1) 0
= (1 1 0 1) 0 = (0 0 1) 0 = (0 1) 0 = 1 0 = 1.
3. Проверка на наличие ошибок:
- поверочный бит S = 1 – ошибка обнаружена (ошибки нечетной кратности обнаруживаются).
Бит контроля по нечетности Рн вычисляется по формуле:
Рн = (Dn-1 Dn-2 … D1 D0) 1.
Пример контроля по нечетности (V = 0).
Кодирование данных и передача по линии связи :
1. Вычисление бита паритета Рн для данного = 1101.
Рн = (1 1 0 1) 1 = (0 0 1) 1 = (0 1) 1 = 1 1 = 0.
2. Передача данного = 1101 и бита паритета Рн =0 по линии связи.
Прием и проверка данных (вариант 1 без ошибки):
1. Прием данного = 1101 и бита паритета Рн =0.
2. Вычисление поверочного бита S = (1 1 0 1 0) 1
= (0 0 1 0) 1 = (0 1 0) 1 = (1 0) 1 = 1 1 = 0.
3. Проверка на наличие ошибок:
- поверочный бит S = 0 - ошибки нет.
Прием и проверка данных (вариант 2 с одной ошибкой):
1. данного = 1101 и бита паритета Рн =0.
2. Вычисление поверочного бита S = (1 0 0 1 0) 1
= (1 0 1 0) 1 = (1 1 0) 1 = (0 0) 1 = 0 1 = 1.
3. Проверка на наличие ошибок:
- поверочный бит S = 1 – ошибка есть (одна ошибка обнаружена).
Прием и проверка данных (вариант 3 с двумя ошибками):
1. данного = 1101 и бита паритета Рн =0.
2. Вычисление поверочного бита S = (1 0 1 1 0) 1
= (1 1 1 0) 1 = (0 1 0) 1 = (1 0) 1 = 1 1 = 0.
3. Проверка на наличие ошибок:
- поверочный бит S = 0 – ошибка не обнаружена (ошибки четной кратности не обнаруживаются).
Прием и проверка данных (вариант 3 с тремя ошибками):
1. Прием данного = 1101 и бита паритета Рн =0.
2. Вычисление поверочного бита S = (1 0 1 0 0) 1
= (1 1 0 0) 1 = (0 0 0) 1 = (0 0) 1 = 0 1 = 1.
3. Проверка на наличие ошибок:
- поверочный бит S = 1 – ошибка обнаружена (ошибки нечетной кратности обнаруживаются).
На практике наиболее часто применяется нечетный паритет, позволяющие фиксировать полное пропадание информации при передаче данного из нулей 00000000, так как формируется комбинация 000000001.