Jump to content

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

(Перенаправлено с 128b/132b )

В сетях и передаче данных 64b/66b — это линейный код , который преобразует 64- битные данные в 66-битный линейный код , чтобы обеспечить достаточное количество изменений состояния, чтобы обеспечить разумное восстановление тактовой частоты и выравнивание потока данных на приемнике. Он был определен рабочей группой IEEE 802.3 как часть поправки к IEEE 802.3ae-2002, которая ввела Ethernet 10 Гбит/с. На момент внедрения 64b/66b он позволял передавать 10 Гбит Ethernet с помощью тех же лазеров, которые использовались в SONET OC-192 , вместо того, чтобы требовать лазеров со скоростью 12,5 Гбит/с, чего не ожидалось. [ когда? ] быть доступным в течение нескольких лет.

схемы Накладные расходы протокола кодирования представляют собой отношение количества необработанных битов полезной нагрузки к числу необработанных битов полезной нагрузки плюс количество добавленных битов кодирования. Накладные расходы при кодировании 64b/66b составляют 2 бита кодирования на каждые 64 бита полезной нагрузки или 3,125%. Это значительное улучшение по сравнению с 25%-ными издержками по сравнению с ранее использовавшейся схемой кодирования 8b/10b , которая добавляла 2 бита кодирования к каждому 8 битам полезной нагрузки.

Накладные расходы можно дополнительно снизить, удвоив размер полезной нагрузки для создания кодировки 128b/130b, используемой PCIe 3.0.

Как следует из названия схемы, 64 бита полезной нагрузки кодируются как 66-битный объект. 66-битный объект создается путем добавления одной из двух возможных 2-битных преамбул к 64 битам полезной нагрузки.

  • Если преамбула равна 01 2 , 64 бита полезной нагрузки представляют собой данные.
  • Если преамбула равна 10 2 , 64 бита полезной нагрузки содержат 8-битное поле типа и 56 бит управляющей информации и/или данных.

Преамбулы 00 2 и 11 2 не используются и указывают на ошибку, если она обнаружена.

Использование преамбул 01 2 и 10 2 гарантирует смену битов каждые 66 бит, а это означает, что непрерывный поток 0 или 1 не может быть действительными данными. Это также упрощает синхронизацию часов/таймера, поскольку переход должен наблюдаться каждые 66 бит.

Затем 64-битная полезная нагрузка скремблируется с использованием функции самосинхронного скремблера . Скремблирование предназначено не для шифрования данных, а для обеспечения относительно равномерного распределения единиц и нулей в передаваемых данных. Скремблер не может гарантировать, что выходные данные никогда не будут иметь длинную серию из 0 или всех 1 или других нежелательных свойств при передаче данных, но позволяет установить строгие статистические границы вероятности таких событий. В практических проектах параметры системы будут выбираться таким образом, чтобы битовая ошибка из-за больших длин серий была исчезающе маловероятной. Этот метод отличается от подхода, основанного на кодовой книге, при кодировании 8b/10b .

Кодирование и скремблирование обычно полностью реализуются аппаратно, при этом скремблер использует сдвиговый регистр с линейной обратной связью . Верхним уровням программного стека не обязательно знать, что канальный уровень использует эти методы.

Свойства и применение

[ редактировать ]

Целями разработки 64b/66b являются восстановление тактовой частоты, выравнивание потока, баланс постоянного тока, плотность перехода и длина пробега. Кодирование 8b/10b гарантирует строгие ограничения баланса постоянного тока, плотности перехода и длины серии, тогда как 64b/66b обеспечивает статистические границы этих свойств.

Длина пробега

[ редактировать ]

Большинство схем восстановления тактовой частоты, разработанных для SONET OC-192 и 64b/66b, рассчитаны на длину пробега 80 бит. Такой запуск не может произойти в 64b/66b, поскольку переходы гарантированы с 66-битными интервалами, и фактически длинные прогоны очень маловероятны. Хотя теоретически возможно, что случайный шаблон данных совпадет с состоянием скремблера и создаст длинный ряд из 65 нулей или 65 единиц, вероятность такого события равна подбрасыванию честной монеты и ее выпадению в том же состоянии. 64 раза подряд. При скорости 10 гигабит в секунду ожидаемая частота событий для 66-битного блока с длиной серии 65 бит при условии случайных данных равна 66×2. 64 ÷10 10 ÷2 секунды, или примерно раз в 1900 лет.

Статистика длины серии может ухудшиться, если данные состоят из специально выбранных шаблонов, а не случайных. Более ранний скремблер, использовавшийся в пакетной передаче через SONET/SDH ( В RFC   1619 (1994)) был короткий полином всего с 7 битами внутреннего состояния, который позволял злоумышленнику создать атаку типа «отказ в обслуживании», передавая шаблоны во всех двух состояниях. 7 −1 состояний, одно из которых гарантированно приводило к рассинхронизации цепей восстановления тактовой частоты. Эта уязвимость держалась в секрете до тех пор, пока длина скремблера не была увеличена до 43 бит ( RFC   2615 (1999)), что делает невозможным для злоумышленника заглушить систему с помощью короткой последовательности.

64b/66b удалось избежать этой уязвимости, используя полином скремблирования с достаточным количеством случайных внутренних состояний (58 бит), так что специальный злоумышленник, использующий созданный Ethernet-пакет, может создать 64-битную длину на выходе скремблера только один раз примерно в 29 лет. [1] : 11–13  При этом создаются 66-битные блоки, содержащие 65-битные прогоны, со скоростью, аналогичной использованию случайных данных.

Баланс постоянного тока

[ редактировать ]

Баланс постоянного тока 64b/66b не является абсолютно ограниченным. Однако можно показать, что выходной сигнал скремблера близко приближается к последовательности случайных двоичных битов. Прохождение такой последовательности через цепь, связанную по переменному току, создает шум дрейфа базовой линии , который соответствует распределению Гаусса , и влияние на частоту ошибок системы можно определить статистически количественно. На практике небольшой емкости разделительного конденсатора, равной 1 нФ, в системе с сопротивлением 100 Ом достаточно, чтобы гарантировать, что дрейф постоянного тока более 2,5% будет происходить реже, чем один раз в 10 раз. 22 бит (около 31 700 лет при скорости 10 Гбит/с). [1]: 15–16

Расстояние Хэмминга

[ редактировать ]

10-гигабитный Ethernet имеет строгий устав, требующий, чтобы среднее время приема ложных пакетов (MTTFPA) составляло порядка 1 миллиарда лет для одного работающего канала. Чтобы добиться этого при нормальной частоте ошибок по битам, требуется как минимум 4-битная дистанционная защита Хэмминга для всех пакетных данных. Другими словами, все комбинации из трех случайно расположенных переворотов битов внутри границы пакета должны быть обнаружены и привести к признанию пакета недействительным. Для достижения 4-битного расстояния Хэмминга для пакетов 64b/66b было объединено несколько стратегий: 1) были выбраны поля строгого типа с 4-битным расстоянием Хэмминга, 2) был выбран полином скремблера, совместимый с CRC-32, используемым для пакетов. защита и 3) нарушения протокола, прилегающие к границам пакета, необходимы для признания пакета недействительным. Комбинация CRC-32 и выбранного полинома скремблера оценивалась путем исчерпывающего перебора всех 4-битных шаблонов ошибок для всех возможных размеров пакетов с помощью оптимизированной программы на языке C.

Наблюдения

[ редактировать ]

Основной вклад 64b/66b заключается в наблюдении того, что детерминированная длина серии и плотность переходов 8b/10b не всегда оправдывают 25% накладных расходов на код, и что надежные устойчивые системы могут быть спроектированы с использованием статистически ограниченных методов. В какой-то момент практические риски, будь то среднее время безотказной работы таких компонентов, как источники питания, или такие явления, как космические лучи или солнечные вспышки , начинают доминировать над надежностью систем 8b/10b и 64b/66b.

Вариации

[ редактировать ]

Протокол Интерлакена еще больше улучшает баланс постоянного тока за счет увеличения количества битов кодирования. Его кодировка 64b/67b расширяет кодировку 64b/66b за счет явной балансировки постоянного тока. Это может быть полезно для некоторых приложений, например, при использовании встроенных разделительных конденсаторов меньшего размера.

PCI Express 3.0 представил кодировку 128b/130b, которая аналогична 64b/66b, но имеет полезную нагрузку 128 бит вместо 64 бит и использует другой полином скремблирования: x 23 + х 21 + х 16 + х 8 + х 5 + х 2 + 1. Он также не является самосинхронным и поэтому требует явной синхронизации начальных значений, в отличие от 64b/66b.

USB 3.1 и DisplayPort 2.0 используют кодировку 128b/132b, которая идентична 64b/66b, но дублирует каждый бит преамбулы, чтобы снизить риск возникновения необнаруженных ошибок.

Преемники

[ редактировать ]

Для каждой кодировки { n }b/{ n +2}b соотношение символ/данные всегда ниже 1. При соотношении 0,985 для кодирования 128b/130b реальных возможностей для улучшения нет.

Для дальнейшего увеличения скорости передачи данных доступны следующие подходы:

Более высокая скорость передачи символов в сочетании с FEC

Очень распространены кодировки 512b/514b в сочетании с коррекцией ошибок Рида-Соломона . Часто используются следующие варианты:

  • RS(528,514, 0 7,10), добавляя 14 битов коррекции к кодовому слову 512b/514b, позволяя исправить до 0 7 поврежденных битов. Накладные расходы составляют 3%, как и при кодировании 64b/66b.
  • RS(544,514,14,10), добавляя 30 битов коррекции к кодовому слову 512b/514b, что позволяет исправить до 15 поврежденных битов. Накладные расходы составляют 6%.

FEC допускает коэффициент ошибок символов 2,3 · 10. −5 или 2,2 · 10 −4 добиться коэффициента ошибок по битам менее 10 −15 в передаваемых данных.

Многоуровневое кодирование в сочетании с FEC

Дальнейшие улучшения возможны путем перехода с PAM-2 на PAM-4 или кодирование Ensemble NRZ .

Многоуровневая модуляция Trellis в сочетании с FEC

Технологии, использующие кодировку 64b/66b

[ редактировать ]

Технологии, использующие кодировку 128b/1xxb

[ редактировать ]

Технологии, использующие кодировку 256b/257b.

[ редактировать ]
  1. ^ Р. К. Уокер ; Р. Дуган (18–20 января 2000 г.). «Предложение по кодированию с низкими издержками 64b/66b для последовательных каналов» (PDF) . Группа по изучению высокоскоростного стандарта IEEE 802.3.
[ редактировать ]
Обратите внимание, что это первоначальное предложение IEEE, и в окончательный согласованный стандарт были внесены некоторые изменения. Принципиальная схема 58-битного полинома скремблирования, описанная в предложении, идентична принятой в стандарте. Однако в предложении регистры нумеруются в обратном порядке, так что x 58 19 +1 многочлен в предложении такой же, как и полином, обозначенный x 58 39 +1 в стандарте.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 31f3ff33512a147615e7d3827a978c3c__1722360960
URL1:https://arc.ask3.ru/arc/aa/31/3c/31f3ff33512a147615e7d3827a978c3c.html
Заголовок, (Title) документа по адресу, URL1:
64b/66b encoding - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)