Кодировка 64 / 66b - PullRequest
       70

Кодировка 64 / 66b

1 голос
/ 11 июля 2011

Есть несколько вещей, которые я не понимаю в 64/66-битной кодировке , и не смог найти ответы в Интернете.Буду признателен за любую помощь / ссылки:

i) Как распознать начало кадра?Я не думаю, что это могут быть начальные 10/01 биты, называемые преамбулой в Википедии, потому что вы не можете отличить их (если свободная ссылка равна 0, то 0000 10 и 000 01 0 выглядят довольно схожими).Я ожидаю, что конец кадра обозначен управляющим словом, а остальные биты, возможно, используются для CRC?

ii) Как синхронизируются скремблеры и как они избегают скремблирования одного и того же пакета?так же?Или, другими словами, почему злоумышленник не может вызвать значительную потерю пакетов, тщательно выбирая плохое сообщение?

iii) на это можно было бы ответить в ii), но если пакет отправляется на коммутатор, а затем на другой хост, шифруется ли он одинаково оба раза?

Еще разБольшое спасибо заранее

1 Ответ

0 голосов
/ 17 мая 2019

Слои

Прежде всего необходимо очистить модель OSI .

Фрейм ethernet является канальным уровнем, а кодирование 64b / 66b является частью физического уровня (точнее, PCS физического уровня)

Физический уровень незнать что-нибудь о начале кадра .Он видит только данные.(Начало кадра Ethernet - это байты данных, которые содержат преамбулу.)


64b / 66b кодировка

Теперь давайте предположим, что ссылка установлена ​​и работает .

В этом случае свободная ссылка не заполнена нулями.(В этом случае ссылка не будет самосинхронной ). Свободные сообщения (незанятые символы и / или блоки синхронизации, т.е. управляющая информация) отправляются через свободную ссылку.(Управляющая информация, закодированная с преамбулой 0b10) (Вот почему излучаемый спектр и рассеяние мощности не зависят от того, находится ли канал в состоянии ожидания или нет)

Итак, начало нового кадра действует следующим образом:

  1. Ссылка отправляет информацию о простое.(с преамбулой 0b10)
  2. Верхний уровень (канальный уровень) отправляет кадр (в 64-битных порциях данных) на физический уровень.
  3. Физический уровень отправляет данные (с преамбулой 0b01) черезссылка.

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

Синхронизация

Перед передачей данныхКодированная полоса 64b / 66b должна быть инициализирована.Эта инициализация включает в себя инициализацию полосы, которая блокирует синхронизацию. Спецификация Xilinx Aurora (P34) является примером инициализации ссылки.Вкратце, получатель пытается сопоставить символ синхронизации в разных битовых позициях, и когда он совпадает несколько раз, он сообщает о соединении.

Обратите внимание, что кодирование 64b / 66b использует самосинхронный скремблер .Вот почему скремблеру (самому) не нужно ничего знать о том, где мы находимся в потоке данных.Если вы запускаете самосинхронный (де) скремблер достаточно долго, он создает декодированный битовый поток.

Вредоносность

Обратите внимание, что кодирование 64b / 66b не является шифрованием.Это шифрование не защитит вас от подслушивания / взлома.(Шифрование должно располагаться на более высоком уровне модели OSI)

Один и тот же пакет несколько раз

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

...