3800 ЗАЩИТА ИНФОРМАЦИИ НА КАНАЛЬНОМ УРОВНЕ

Введение

 

Цель лабораторной работы - исследование способов защиты от ошибок в системе передачи данных (СПД) на канальном уровне стека протоколов OSI коммуникационных систем.

Канальный уровень обеспечивает необходимую достоверность передачи информации, которая характеризуется степенью соответствия принятого сообщения переданному. На этом уровне происходят такие операции как формирование кадра, вычисление контрольной последовательности кадра, контроль ошибок в принятом кадре. В состав каждого кадра вводятся избыточные разряды, которые вычисляются по определенному алгоритму. Принятый кадр анализируется на соответствие правилу кодирования, и в случае нарушения правила принимающая сторона передает сообщение об этом на передающую сторону. Следует отметить, что канальные протоколы некоторых скоростных сетей не исправляют ошибки. Эту задачу решают протоколы верхних уровней стека OSI.

Вероятность возникновения ошибки p в канале является основной характеристикой физического уровня СПД. Эта величина равна отношению числа ошибочно принятых бит к общему количеству переданных за определенное время и зависит от уровня помех, вида модуляции, правила принятых решений и других условий. В аналоговых каналах, например, она находится в пределах 10-310-5, что недопустимо для системы передачи данных. С помощью протоколов канального уровня вероятность ошибки может быть уменьшена на несколько порядков. Системы передачи данных используют каналы без обратной связи и каналы с обратной связью.

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

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

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

В лабораторной работе выполняется моделирование на ЭВМ протоколов канального уровня. Основной параметр физического уровня СПД - вероятность ошибки бита p вводится в программу моделирования канала и изменяется в широких пределах с целью исследования эффективности различных кодов, алгоритмов декодирования и протоколов управления передачей информации.

1. Канал без обратной связи

 

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

g0 = 1

g1 = 1+x

g2 = 1+x+x6

g3 = 1+x2+x6+x7

g4 = 1+x3+x4+x5+x8+x10+x12

g5 = 1+x+x3+x6+x8+x9+x10+x11+x12+x13

g6 = 1+x+x2+x3+x6+x7+x9+x15+x16+x17+x18.

Примечание

Одночлен g0 формирует код без избыточности, который не

обеспечивает защиту от ошибок.

Число бит n в кадре (размер кадра) всегда равно 63. Количество информационных (k) и контрольных (n-k) разрядов зависит от генераторного многочлена циклического кода. В табл. 1 представлены параметры циклических кодов, полученных с помощью перечисленных выше генераторных многочленов.

Таблица 1

Номер многочлена

0

1

2

3

4

5

6

Минимальное кодовое

расстояние, d

1

2

3

4

5

6

7

Число информационных

разрядов, k

63

62

57

56

51

50

45

Число контрольных

разрядов, n-k

0

1

6

7

12

13

18

Количество обнаруживаемых и исправляемых ошибок в кадре зависит от главного параметра кода - минимального кодового расстояния d. Этот параметр определяет гарантированное различие между любыми двумя комбинациями, измеряемое числом несовпадающих двоичных разрядов. Чем больше параметр d, тем больше ошибок код может исправить или обнаружить. Однако увеличение кодового расстояния потребует и увеличения избыточности, что уменьшит долю полезной информации в кадре.

Принимающая сторона проверяет кадр на соответствие правилу кодирования. Для этого производится деление кадра на генераторный многочлен, который был использован при формировании кадра на передающей стороне.

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

нулю. Такие ситуации возникают, если размещение ошибок в кадре совпадает по структуре с некоторым кадром, входящим в множество передаваемых кадров.

Принимающая сторона может работать в одном из следующих режимов декодирования:

  • обнаружения ошибок;
  • обнаружения и исправления ошибок;
  • исправления ошибок.

Для количественной оценки надежности передачи кадров в канале без обратной связи необходимо уметь вычислять вероятности состояний кадра на принимающей стороне с учетом используемого кода и режима декодирования. Принятый кадр может иметь одно из трех возможных состояний:

1)    правильный прием, когда в кадре нет ошибок или число ошибок находится в пределах способности кода исправить их;

2)    ошибочный прием, если при наличии ошибок в кадре принимающая сторона не может их обнаружить;

3)    стертое состояние кадра, когда ошибки обнаружены, но принимающая сторона не пытается их исправить.

 

Режим обнаружения ошибок

В этом режиме кодовое расстояние d и максимальное число ошибок t, гарантированно обнаруживаемых на принимающей стороне, связаны зависимостью:

t = d - 1 .                                                  (1)

Вероятность правильного приема кадра Q вычисляется по формуле:

Q = (1 - p)n, (2)

где р - вероятность ошибочного приема одного бита,

n - число разрядов в кадре.

Вероятность ошибочного приема кадра Po можно оценить с помощью приближенной формулы:

,                                   (3)

где t - максимальное число обнаруживаемых ошибок.

Формула (3) оценивает вероятность появления  ошибок, совпадающих по структуре с комбинациями циклического кода. В таких случаях остаток от деления на генераторный многочлен равен нулю, и ошибки не будут обнаружены.

Вероятность стирания кадра Рs вычисляется по формуле:

Рs = 1 – Q - Po .                                                              (4)

В табл. 2 приведены параметры исследуемых кодов для режима обнаружения ошибок.

Таблица 2

Номер многочлена

0

1

2

3

4

5

6

Кодовое расстояние

1

2

3

4

5

6

7

Количество обнаруживаемых ошибок

0

1

1,2

1,2,3

1,2,3,4

1,2,3,

4,5

1,2,3,

4,5,6

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

 

Режим обнаружения и исправления ошибок

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

Максимальные числа гарантированно исправляемых и обнаруживаемых ошибок связаны с кодовым расстоянием зависимостью:

s + t = d - 1, (5)

где s - число исправляемых ошибок,

t - число обнаруживаемых ошибок.

Формула (5) справедлива, если выполняется условие: t>s.

В табл. 3 приведены параметры исследуемых кодов в режиме исправления и обнаружения.

Таблица 3

Номер многочлена

0

1

2

3

4

5

6

Число исправляемых ошибок

0

0

0

1

1

1,2

1,2

Число обнаруживаемых ошибок

0

1

2

2

2,3

3

3,4

 

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

Следует отметить, что могут быть обнаружены также ошибки, число которых превышает значение параметра t, так как любое искажение кадра в канале, вызывающее нарушение правила кодирования, всегда будет обнаружено по наличию ненулевого остатка от деления на генераторный многочлен. Многочлены 0,1,2 не позволяют реализовать режим обнаружения и исправления ошибок.

Вероятность правильного приема кадра:

,                                      (6)

где s - максимальное число исправляемых ошибок.

Вероятность ошибочного приема кадра:

.                     (7)

Вероятность стирания кадра:

Рs = 1 – Q - Po .                                                                (8)