Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Здравствуйте. Подскажите, пожалуйста, как работает bit stuffing для HDLC протокола? Не понимаю, как происходит декодирование последовательности бит с bit stuffing. Т.е. где-то в середине фрейма была последовательность 01111110, зарезервированная в протоколе под флаг начала отправки данных. Заменили, чтобы не было проблем, на 011111010. Но по факту теперь вместо исходного байта будет байт 01111101, а ноль станет началом нового байта и вся дальнейшая последовательность бит неправильно разобъется на байты. Понимаю, что на самом деле такой проблемы не должно возникать, но как тогда происходит декодирование такой последовательности?
Dmitriy40
Re: Как работает bit stuffing
26.03.2020, 07:09
Bit stuffing работает только для пользовательских данных, внутри кадра, не для флагов начала и конца кадра. Приёмник удаляет лишние нулевые биты перед разбитием потока битов на байты. Потому поток байтов в сообщении и не искажается.
Хорошо, а как, с другой стороны, приёмник понимает, что нулевой бит в последовательности, равной флагу, это именно bit stuffing, а не заданная пользователем часть его данных?
EUgeneUS
Re: Как работает bit stuffing
26.03.2020, 11:24
Последний раз редактировалось EUgeneUS 26.03.2020, 11:32, всего редактировалось 1 раз.
optimden Там всё просто, как три советских рубля. Даже проще.
1. Туда. После пяти единиц вставляем ноль, если это в информационном поле кадра. 2. Обратно. После пяти единиц выкидываем ноль, если это в информационном поле кадра.