Обнаружение и коррекция ошибок

Разработчики сетей создали две основные стратегии для борьбы с ошибками [2]. Каждый метод основывается на добавлении к передаваемым данным некоторой избыточной информации. В одном случае этой информации должно быть достаточно, чтобы выявить, какие данные должны были прийти. В другом случае избыточной информации должно быть достаточно только для того, чтобы получатель понял, что произошла ошибка (без указания ее типа) и запросил повторную передачу. Первая стратегия использует коды, называющиеся корректирующими, или кодами с исправлением ошибок; вторая – коды с обнаружением ошибок. Использование кода с обнаружением ошибок часто называют прямым исправлением ошибок.

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

Канальный уровень может обнаруживать ошибки передачи данных, связанные с искажением битов в принятом кадре данных или с потерей кадра, и по возможности их корректировать [4].

Большая часть протоколов канального уровня выполняет только первую задачу — обнаружение ошибок, считая, что корректировать ошибки, то есть повторно передавать искаженную информацию, должны протоколы верхних уровней. Так работают популярные протоколы таких локальных сетей, как Ethernet, Token Ring, FDDI и другие. Однако существуют протоколы канального уровня, например, LLC2 или LAP-B, которые самостоятельно решают задачу восстановления искаженных или потерянных кадров.

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

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

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








Дата добавления: 2016-03-22; просмотров: 844;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.