1 Обнаружение и коррекция ошибок
Канальный уровень должен обнаруживать ошибки передачи данных, связанные с искажением бит в при-нятом кадре данных или с потерей кадра, и по возможности их корректировать.
Большая часть протоколов канального уровня выполняет только первую задачу ? обнаружение ошибок, считая, что корректировать ошибки, то есть повторно передавать данные, содержавшие искаженную ин-формацию, должны протоколы верхних уровней. Так работают такие популярные протоколы локальных се-тей, как Ethernet, Token Ring, FDDI и другие. Однако существуют протоколы канального уровня, например LLC2 или LAP-B, которые самостоятельно решают задачу восстановления искаженных или потерянных кад-ров.
Для сетей, в которых искажения и потери кадров очень редки, разрабатываются протоколы типа Ethernet, в которых не предусматриваются процедуры устранения ошибок, наличие которых требует от конечных уз-лов дополнительных вычислительных затрат, что при надежной работе сети является избыточным.
Напротив, если в сети искажения и потери случаются часто, то желательно уже на канальном уровне ис-пользовать протокол с коррекцией ошибок. Протоколы верхних уровней, работая с большими тайм-аутами, восстановят потерянные данные с большой задержкой. Поэтому нельзя считать, что один протокол лучше другого потому, что он восстанавливает ошибочные кадры, а другой протокол ? нет. Каждый протокол дол-жен работать в тех условиях, для которых он разработан.
1.1 Методы обнаружения ошибок
Все методы обнаружения ошибок основаны на передаче в составе кадра данных служебной избыточной информации, по которой можно судить с некоторой степенью вероятности о достоверности принятых дан-ных. Эту служебную информацию принято называть контрольной суммой (Frame Check Sequence, FCS). Кон-трольная сумма вычисляется как функция от основной информации. Принимающая сторона повторно вы-числяет контрольную сумму кадра по известному алгоритму и в случае ее совпадения с принятой контроль-ной суммой, делает вывод о том, что данные были переданы через сеть корректно. Существует несколько распространенных алгоритмов вычисления контрольной суммы, отличающихся вычислительной сложностью и способностью обнаруживать ошибки в данных.
1.1.1 Контроль по паритету
представляет собой наиболее простой метод контроля данных. В то же время это наименее мощный алго-ритм контроля, так как с его помощью можно обнаружить только одиночные ошибки в проверяемых дан-ных. Метод заключается в суммировании по модулю 2 всех бит контролируемой информации. Например, для данных 100101011 результатом контрольного суммирования будет значение 1. Результат суммирования также представляет собой один бит данных, который пересылается вместе с контролируемой информацией. При искажении пересылки любого бита исходных данных (или контрольного разряда) результат суммиро-вания будет отличаться от принятого контрольного разряда, что говорит об ошибке. Однако двойная ошиб-ка, например 110101010, будет неверно принята за корректные данные. Поэтому контроль по паритету применяется к небольшим порциям данных, что дает коэффициент избыточности для этого метода 1/8. Ме-тод редко применяется в вычислительных сетях из-за его большой избыточности и невысоких диагностиче-ских способностей.
1.1.2 Циклический избыточный контроль
(Cyclic Redundancy Check, CRC) является в настоящее время наиболее популярным методом контроля в вычислительных сетях. Метод основан на рассмотрении исходных данных в виде одного многоразрядного двоичного числа. Например, кадр стандарта Ethernet, состоящий из 1024 байт, будет рассматриваться как одно число, состоящее из 8192 бит. В качестве контрольной информации рассматривается остаток от деле-ния этого числа на известный делитель R. Обычно в качестве делителя выбирается семнадцати- или три-дцати трехразрядное число, чтобы остаток от деления имел длину 16 разрядов (2 байт) или 32 разряда (4 байт). При получении кадра данных снова вычисляется остаток от деления на тот же делитель R, но при этом к данным кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от деления на R равен нулю, то делается вывод об отсутствии ошибок в полученном кадре, в противном случае кадр счита-ется искаженным.
Этот метод обладает более высокой вычислительной сложностью, но его диагностические возможности го-раздо выше, чем у методов контроля по паритету. Метод CRC обнаруживает все одиночные ошибки, двой-ные ошибки и ошибки в нечетном числе бит. Метод обладает также невысокой степенью избыточности. На-пример, для кадра Ethernet размером в 1024 байт контрольная информация длиной в 4 байт составляет только 0,4 %.
1.2 Методы восстановления кадров
Методы восстановления искаженных и потерянных кадров основаны на повторной передаче кадра данных в том случае, если кадр не доходит до адресата или приемник обнаружил в нем искажение информации. Чтобы убедиться в необходимости повторной передачи данных, отправитель нумерует отправляемые кадры и для каждого кадра ожидает от приемника так называемой положительной квитанции ? служебного кадра, извещающего о том, что исходный кадр был получен и данные в нем оказались корректными. Время этого ожидания ограничено ? при отправке каждого кадра передатчик запускает таймер, и, если по его истечении положительная квитанция на получена, кадр считается утерянным. Приемник в случае получения кадра с искаженными данными может отправить отрицательную квитанцию ? указание на то, что данный кадр нуж-но передать повторно.
Существуют два подхода к организации процесса обмена квитанциями: с простоями и с организацией «ок-на».
1.2.1 Метод с простоями
Метод с простоями (Idle Source) требует, чтобы источник, пославший кадр, ожидал получения квитанции (положительной или отрицательной) от приемника и только после этого посылал следующий кадр (или по-вторял искаженный). Если же квитанция не приходит в течение тайм-аута, то кадр (или квитанция) счита-ется утерянным и его передача повторяется. На рис.15, а видно, что в этом случае производительность об-мена данными существенно снижается, ? хотя передатчик и мог бы послать следующий кадр сразу же после отправки предыдущего, он обязан ждать прихода квитанции. Снижение производительности этого метода коррекции особенно заметно на низкоскоростных каналах связи, т.е в территориальных сетях.
1 Обнаружение и коррекция ошибок
22 Янв, 2009
