Пример начинки

Я собираюсь привести пример, который читает

Бит Фарш. Предположим, что следующая строка битов получена канальным уровнем от сетевого уровня: 01110111101111101111110. Какая результирующая строка после вставки битов? Выделите жирным шрифтом каждый добавленный бит.

Ответ:

0111011110111110011111010
               ^      ^  

Как этот ответ достигнут? Насколько я понимаю, битовая вставка работает путем вставки определенной последовательности битов (известной как значение флага) в начале и конце кадра. То, что я не понимаю, это:

  1. Нам не сообщают значение флага!
  2. Нам не говорят, насколько большой кадр, так как мы узнаем, где поставить флаг?

Дополнительная информация: я думаю, что эта сеть Ethernet.

Дополнительная информация 2: битовый флаг 01111110

Честно говоря, я думаю, что понимаю, но не является ли ответ неполным, потому что они не добавили флаг 01111110 в конец или не начали? Они просто позаботились о том, чтобы этот фрагмент битов появился в сообщении.

Другой пример: здесь они тоже это делают.

5 ответов

Решение

Рассматривать: 0111011110111110*0111110*10

После того, как он находит 0 а затем пять подряд 1 биты это набивает 0, Это предполагает 0 немного начинку, которая является общей.

Для кадрирования в сети на канальном уровне существует несколько подходов, которые ориентированы на биты.

Это должен быть способ узнать начало и конец кадра, который передается по каналу на стороне приемника, поэтому существует некоторый формат кадрирования, такой как HDLC. Вы можете видеть это.

Во многих типах форматов кадра есть начальная последовательность (показывает начало кадра) и конечная последовательность (показывает конец кадра) и тело кадра, которое является данными. Проблема, которая может возникнуть, заключается в появлении конечной последовательности в теле, что может привести к неправильному распознаванию конца кадра.

Чтобы избежать этой проблемы, отправитель фрейма помещает некоторый бит в тело для дезорганизации шаблона конечной последовательности, этот метод известен как вставка битов.

Посмотрите на этот пример:

битовая последовательность: 110101111101011111101011111110 (без вставки битов)

битовая последовательность: 110101111100101111101010111110110 (с вставкой битов)

после 5 последовательных 1-битов 0-бит заполняется.

набитые биты отмечены жирным шрифтом.

Бит Фарш:

Входной поток: 0110111111100111110111111111100000
Фаршированный поток: 01101111101100111110011111011111000000
Нечистый поток: 0110111111100111110111111111100000

В этом вопросе недостаточно информации, чтобы полностью ответить на него по "любому" протоколу, но Ethernet, например, содержит битовые кадры с содержимым 0 бит после 5 последовательных 1 бита, что, похоже, имеет место в данном случае.

Что касается остальной части вашего вопроса о кадрировании, совет состоит в том, чтобы посмотреть, что предполагается передавать с канального уровня на сетевой уровень. Это предварительно сформированный фрагмент данных или просто содержимое кадра, на которое вы смотрите?

Всякий раз, когда вам нужно выполнить битовую вставку, вам всегда будет дано начальное и конечное значение бита FLAG маркера. Самый простой трюк состоит в том, чтобы удалить последние два бита флага и записать новый битовый ряд, всякий раз, когда вы получаете один и тот же ряд в вашем данные, вы должны заполнить один бит там. Например, - данные даны 011111011110. Здесь мой FLAG - 0111110. Таким образом, мой новый FLAG будет 01111. Я добавлю немного, когда получу (01111) в моем ряду данных. Итак, данные после заполнения будут - 01111 (0) 101111. (0) 0 Скобки здесь подразумевают начинку.

Другие вопросы по тегам