119
Так как поля управления и адреса всегда содержат одни и те же
значения, то с целью экономии полосы пропускания они часто опу-
скаются. Таким образом, первое значение после поля флага может
восприниматься либо как начало пакета РРР, либо как поле Прото-
кол. Именно поэтому в поле Протокол кадра РРР не могут исполь-
зоваться величины 0xff и 0x03, так как это может ввести в заблуж-
дение принимающую сторону, которая может «решить», что
получает поля адреса и управления HDLC. Сокращение полей HDLC
при передаче называется сжатием кадра.
Поле проверочной последовательности кадра FCS (Frame Check
Sequence) используется для обнаружения ошибок во время передачи
кадра. Значение FCS вычисляется с помощью полей Адрес, Управ-
ление и данных из пакета HDLC. При вычислении проверочной по-
следовательности кадра не учитывается поле Флаг.
Поле Флаг в конце кадра обозначает конец кадра. Если за дан-
ным кадром следуют другие, то это поле должно опускаться. Одно
поле флага обозначает конец одного кадра и начало другого, пока в
конце не задано поле флага, которое сигнализирует о конце пере-
дачи.
Иногда данные РРР имеют те же значения, что и поле флага в
HDLC. Это может привести к путанице, так как приемник понимает
появление такой последовательности как конец передачи. Чтобы ис-
ключить такую возможность, используется так называемая про-
зрачная передача кадров. После вычисления FCS передатчик
проверяет поля между двумя полями флага и вставляет специаль-
ный контрольный октет (Control-Escape octet) 01111101 или шестнад-
цатеричное 0x7d перед каждым значением данных, которое соответ-
ствует значению флага. Затем передатчик выполняет логическую
операцию «Исключающее ИЛИ» над данными с величиной 0x20,
чтобы полученная величина не равнялась значению в поле Флаг.
Конечно, если значение данных равно значению контрольного окте-
та, то перед ним также должен быть помещен еще один контрольный
октет с последующим выполнением операции «Исключающее ИЛИ»
с величиной 0x20. Когда приемник принимает контрольный октет,
он уже «знает», что необходимо провести обратное преобразование
данных к их нормальному значению.