2.3.4. Обнаружение и коррекция ошибок
Канальный уровень должен обнаруживать ошибки передачи данных, связанные с искажением бит в принятом кадре
данных или с потерей кадра, и по возможности их корректировать.
Большая часть протоколов канального уровня выполняет только первую задачу - обнаружение ошибок, считая, что
корректировать ошибки, то есть повторно передавать данные, содержавшие искаженную информацию, должны протоколы верхних уровней.
Так работают такие популярные протоколы локальных сетей, как Ethernet, Token Ring, FDDI и другие. Однако существуют протоколы
канального уровня, например LLC2 или LAP-B, которые самостоятельно решают задачу восстановления искаженных или потерянных
кадров.
Очевидно, что протоколы должны работать наиболее эффективно в типичных условиях работы сети. Поэтому для
сетей, в которых искажения и потери кадров являются очень редкими событиями, разрабатываются протоколы типа Ethernet, в которых
не предусматриваются процедуры устранения ошибок. Действительно, наличие процедур восстановления данных потребовало бы от
конечных узлов дополнительных вычислительных затрат, которые в условиях надежной работы сети являлись бы избыточными.
Напротив, если в сети искажения и потери случаются часто, то желательно уже на канальном уровне использовать
протокол с коррекцией ошибок, а не оставлять эту работу протоколам верхних уровней. Протоколы верхних уровней, например
транспортного или прикладного, работая с большими тайм-аутами, восстановят потерянные данные с большой задержкой. В глобальных
сетях первых поколений, например сетях Х.25, которые работали через ненадежные каналы связи, протоколы канального уровня всегда
выполняли процедуры восстановления потерянных и искаженных кадров.
Поэтому нельзя считать, что один протокол лучше другого потому, что он восстанавливает ошибочные кадры, а
другой протокол - нет. Каждый протокол должен работать в тех условиях, для которых он разработан.
дальше |содержание |назад
|