none
О реализация 100Base-T4 RRS feed

  • Вопрос

  • Читал тут на досуге про FastEthernet, конкретно о спецификации 100Base-T4. Там написано, что эта спецификация использует для передачи четыре витые пары, три из которых используются для передачи данных, а одна для прослушивания канала на предмет коллизий. При этом применяется кодирование 8B/6T которое представляет 8 бит информации как 6-ть троичных цифр. Скорость передачи данных составляет 33 Мбит/сек на передающую пару, но из-за принятого способа кодирования скорость изменения сигнала равна всего 25 Мбод. Короче в связи с прочитанным у меня много вопросов.

    Во-первых, не понятно что такое 8В/6Т, это технология логического кодирования(типа 4В/5В) или это технология физического кодирования(типа манчестерского кодирования или NRZI)? Под логическим кодированием я понимаю, приёмы используемые для улучшения потенциальных кодов, состоящие в перекодирование исходных данных, таким образом, чтобы в них как можно реже встречались длинные последовательности из единиц и нулей, приводящие к постоянному потенциалу. Например, упомянутые 4В/5В или скрэмблирование. В моей книге, 8В/6Т почему то упоминается в разделе о логическом кодировании.

    Во-вторых, почему если скорость передачи данных на передающую пару составляет 33 Мбит/сек, то при заданном способе кодирования это соответствует скорости в 25Мбод? Точнее интересует как произвести сам пересчёт из Мбит/сек в Мбод в данном случае.

    И в-третьих, в книге ни фига не написано как именно передаются троичные цифры по трём парам параллельно, по символу на пару, или другим способом.

    Буду благодарен если разжуете, не люблю я когда вопросы остаются :(





    24 августа 2011 г. 19:43

Все ответы

  • Технология  100Base-T4 носила промежуточный характер, когда кабельная система была старой, а технологии требовали новых скоростей. Сейчас оборудования  100Base-T4 в природе не выпускается.

    8В/6Т - шесть сигналов с тремя изменяемыми параметрами (амплитуда, частота, ...) кодируют восемь бит. Итого избыточность - 6 сигналов с тремя состояниями (3 в степени 6 возможных значений состояний = 729) кодируют 8 бит (2 в степени 8 возможных значений = 256) (так же как в 4В/5В - 5 бит кодируют 4 бита).

    Бод равен одному изменению информационного параметра в секунду. Если за одну секунду приходит один сигнал, но при этом в нём можно различить три параметра (амплитуда, частота и т.д.), то количество бод равно трём.

    Информационная скорость измеряется в битах в секунду и в общем случае не совпадает со скоростью в бодах. Она может быть как выше так и ниже скорости изменения информационного параметра, измеряемого в бодах. Это соотношение зависит от числа состояний сигнала в данной технологии.

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

     

    Мой источник - Олифер "Компьютерные сети" 4-е издание 2011 г

    24 августа 2011 г. 20:40
  • Интересно, мой источник вопросов тоже Олифер :)))

    По существу вы не ответили ни на один из заданных вопросов:

    1) 100Base-T4 НЕ носила промежуточный характер. Это была попытка использования широко распространённых телефонных магистралей на UTP-3, которые проложены в большинстве зданий, что позволяло значительно сэкономить на развёртывании сети. Сама технология 100Base-T4 появилась самой последний среди остальных технологий FastEthernet. О чём кстати написано у самого Олифера, правда в 1-м издании. В 4-ом эту часть вырезали, видимо посчитав исторические справки не нужными.

    2) Можно узнать источник по поводу того, что алгоритм 8B/6T кодируется изменениями амплитуды и частоты? Вызывает большие сомнения тот факт, что на цифровых каналах применяться такая кодировка, такой способ кодировки больше соответствует сетям с коммутируемыми каналами, а не сетям с коммутируемыми пакетами. Все известные мне кодировки, манчестерский код, NRZ, Биполярный импульсный код и п.р., не рассматривают частоту сигнала, а оперируют только понятием потенциала или изменением потенциала. В связи с чем кстати эти коды и делятся на импульсные и потенциальные. У Олифера это тоже есть.

    3) Бод действительно равен количеству изменений информационного параметра. Вот только если вы и можете различить в сигнале значение некоторого количества параметров, то это ещё не означает, что это параметр информационный. Какой параметр является информационным определено в спецификации на физический способ кодирования. Например, в NRZ информационным параметром является значение потенциала, а в манчестерском кодировании изменение потенциала.

    24 августа 2011 г. 21:18
  • 8В/6Т относится к той же подгруппе что и 4B/5B. Я лично считаю данное кодирование физическим так как оно необходимо для нормальной передачи сигнала по физической линии (например с целью устранения постоянной состаяляющей сигнала которая по физической линии не проходит) и обеспечения синхронизации приемника и передачика. Так же данное кодирование выполняется на физическом уровне сетевой модели. При этом отдельные символы в линии представлены в виде, например, NRZI.

    Со скоростью передачи все просто: передается 25М троичных символов в секунду (25 МБод), каждый символ несет более 1 бита информации из за троичного кодирования. Таким образом для передачи 8 бит требуется переслать 6 троичных символов которые передаются со скоростью 25М символов/с (Бод). Это значит что скорость передачи данных составляет:

    8/6 * 25 = 33 Mbps.

    Если использовать более сложное кодирование, например 256 QAM, то при той же скорости передачи символов (25Мбод) скорость составит 25*8 = 200 Mbps. Трочное кодирование можно описать как 3 PAM (pulse amplitude modulation) где сигнал передается импульсами имеющими 3 различных амплитуды (+, -  и 0)

    Пример можно посмотреть тут: http://www.wildpackets.com/resources/compendium/fast_ethernet/signal_4b5b

    AFAIK троичные цифры передаются по каждой паре отдельно, пары работают независимо. При это две из них передают данные всегда в одном направлении, а две друге динамически меняют направление. Таким образом получается максимальная скорость в 33*3 ~= 100 Mbps.

     


    This posting is provided "AS IS" with no warranties, and confers no rights.
    24 августа 2011 г. 21:25
    Модератор
  • Если 8В/6Т относиться к той же группе, что и 4В/5В, то это кодирование логическое. Т.к. при кодировании 8 бит информации(256 возможных вариантов) представляется 6 троичными символами(729 возможных вариантов). При этом 729-256=473 является запрещёнными кодами. Запрещённые коды, это те 473 из возможных 729 кодов, которые содержат наибольшее количество непрерывных последовательностей из одинаковых потенциалов. Таким образом такое кодирование конечно влияет на параметры линии связи, но с другой стороны любые данные передаваемые по линии связи влияют на её параметры. По этой причине, я бы не относил этот способ кодирования к физическом уровню. Так можно и скрэмблирование отнести к физическому уровню, хотя оно просто перемешивает биты исходных данных, а применяться может с любым типов физического кодирования, как потенциальным так и импульсным.
    Другой вопрос, что это логическое кодирование тесно связано с использованным физическим кодированием, т.к. требует, чтобы физическое кодирование поддерживало не менее 3-х информационных параметров. Поэтому в роли физического кодирования для кодирования 8В/6Т могут выступать например коды AMI(NRZI), Биполярный импульсный код, MLT-3 (все поддерживают по три информационных параметра), но не можгут выступать манчестерское кодирование или NRZ(два информационных параметра). Точнее могут, но тогда для каждого тритичного символа потребуется использовать 2 цикла изменения информационного параметра. При этом придётся вводить запрещенные коды, т.е. его использование не будет эффективным. Тоже самое будет при использовании QAM за цикл можно передавать либо 1 третичный символ + 5 запрещённых кодов, либо 2 третичных символа + 2 запрещённых кода.
    Честно говоря этот вопрос возник из за не полного описания способов кодирования. Например, при описании 10Base-Т сказано, что на физическом уровне используется манчестерское кодирование, но не сказано какое используется логическое кодирование. При этом сам манчестерский код может кодироваться PAM-4 или PAM-2, но об этом тоже ни фига не говорят.

    Цель всех этих разборок построить не противоречивую картину кодирования информации в сетях. На текущем этапе, моя картина кодирования выглядит так:

    1) Уровень физического кодирования. К способам кодирования на этом уровне относятся PAM, QAM и т.п. Физически на линии могут использоваться аналоговая модуляция или цифровое кодирование(потенциальное или импульсное). При этом в чистом виде цифровое кодирование применяться только во внутренних устройствах компьютера, т.к. спектр цифрового сигнала очень широк и не влазит в полосу пропускания кабельных линий. А это приводит к тому, что сигнал быстро затухает и не может без значительного искажения передаваться на большие расстояния. Поэтому, для того чтобы сузить полосу пропускания цифрового сигнала он в кабельных линиях представляется в виде набора гармоник аналоговых сигналов разной частоты. Т.е. по сути в кабельных системах применяется аналоговое кодирование, только информационный параметр отражается не в изменении частоты, фазы или амплитуды одной несущей частоты сигнала, а через суммирование нескольких сигналов разной частоты, амплитуды и фазы.

    2) Уровень представления на физическом уровне. К кодированию на этом уровне, относятся такие способы как манчестерское кодирование, NRZ и т.п. Я выделил это в отдельный уровень, чтобы подчеркнуть, что сигналы например манчестерского кодирования могут быть представлены разными способами(PAM, QAM и т.п.). Т.е. если на предыдущем уровне акцент делался на способе представления информационного параметра, то на этом уровне имеет значение изменение информационного параметра. Например, когда мы говорим о манчестерском кодировании, нас интересует только изменения потенциала сигнала, при этом нам пофигу чем именно на физическом уровне это изменение представлено.

    3) Логическое кодирование. На этом уровне рассматриваются способы преобразования исходных последовательностей данных, в другие последовательности с целью улучшения параметров кодировок Уровня представления на физическом уровне. К этому уровню относятся, скрэмблирование, различные техники с запрещёнными кодами(4B/5D, 5B/6B, 8B/6T) и пр. Т.е. любые техники просто изменяющие представление исходных данных.

    Если есть где поправить или дополнить, то вперёд. Доберёмся до истины вместе ;)))

    25 августа 2011 г. 7:13
  • Нашел кстати подтверждение того, что 8B/6T это логическое кодирование, здесь: http://www.teralink.ru/?do=printt&id=23. Там чётко сказано, что в технологии 100Base-T4 используется битовое кодирование AMI(NRZI), и логическое 8B/6T.
    25 августа 2011 г. 14:38
  • Ну замечательно, называйте это "логическим" кодированием. В зарубежной литературе это обычно называется "line code" и включает в себя, помимо  группового кодирования, так же NRZ(I), манчестер, F2F и т.п. В россии же похоже изобрели свою собственную классификацю.


    This posting is provided "AS IS" with no warranties, and confers no rights.
    26 августа 2011 г. 16:22
    Модератор
  • А при чём тут Россия. Физически используется конкретная кодировка AMI(NRZI) используя которую можно различать 3 состояния -1, 0, +1. А код 8В/6Т "ложится" поверх неё. Вместо AMI можно взять и использовать PAM-5, которая различает 5-ть состояний -2, -1, 0, +1, +2, а из пяти состояний использовать только три. При этом именно спецификации AMI и PAM-5 описывают физическую кодировку, вместе со всеми ограничениями её присущими. Вместе с PAM-5 можно использовать например 4В/5В.

    Более того можно провести такой эксперимент. Первая станция передаёт 1ГБ данных второй станции. При этом в начале передачи станции используют связку AMI+8В/6Т. Передав 512Мб, станции заменяют кодировку 8В/6Т на 4В/5В и продолжают передачу уже используя связку AMI+4В/5В. Для такой замены нужно просто, чтобы в середине передачи на линию перестали передаваться биты 8В/6Т и начали передаваться биты 4В/5В.

    По этой причине коды и разделяются на физические, подобранные с учетом физических параметров линии, и логические, которые просто изменяют представление данных. У них даже назначение разное:

    • Физический код жестко привязан к передающей среде и ограничен её физическими параметрами(полосой пропускания, затуханием и т.п.). Его назначение передать биты от источника к приёмнику. Если физический код ограничивает максимальную пропускную способность канала, то выше этого значение не прыгнуть. Физический код ещё называют битовым кодированием.
    • Логический код ни к чему не привязан, его можно "наложить" поверх любого физического кода. Его назначение избыточное кодирование, т.е. коррекция ошибок. Логическое кодирование всегда уменьшает пропускную способность канала.
    В зарубежной литературе, просто взяли и запихали все три уровня в один уровень "line coding", но это не отменяет существования тех эффектов которые я описал.
    26 августа 2011 г. 17:11
  • Ну тут кое что не сходится:

    1. Групповые ("логические") коды не корректируют ошибок. И в общем случае даже не детектируют их.

    2. Групповые ("логические") коды используют не для "избыточного кодирования", а для того чтоб сигнал таки смог пройти через физическую линию при выбраном представлении отдельных битов. Скажем, линия не пропускает постоянную составляющую сигнала которая и устраняется групповым кодированием. То что объем передаваемой информации при этом уменьшается является недостатком, а вовсе не целью их использования. При этом обычно чем больше группа тем меньше потери.

    3. Групповое ("логические") кодирование не обязательно уменьшает пропускную способность канала. Например вполне можно представить себе код 8B/4Q который использует, скажем, PAM-4 и передает два бита на символ без всяких "потерь" или "избыточности". Я уже не говорю об очевидных кодах вроде 8B/8B (очевидное применение которого - передача байтов).

    Я не вижу никакого смысла в описанном эксперименте. Что он должен доказать?

    Кстати, о манчестере... Вы отнесли его "физическому" кодированию, так? А ведь это на деле "логический" 1B/2B код, нет?

    В общем, в мировой практике данных "компонентов" кодирования не различают, что с моей точки зрения естественно так как они работают вместе и служат одной и той же цели. С другой стороны я не вижу и большой беды в их разделении если уж так хочется.


    This posting is provided "AS IS" with no warranties, and confers no rights.
    27 августа 2011 г. 5:56
    Модератор
  • 1) Не согласен. Групповые логические коды как вы их назвали, используются в общем случае для выравнивания или сужения спектра передаваемого сигнала. При этом из множества возможных кодов выделяются разрешенные и запрещенные коды. Запрещенные коды обычно, это коды содержащие большое количество нулей и единиц. Поскольку для передачи информации используются только разрешенные коды, если приёмник принимает запрещенный код, то это значит что сигнал был искажен где то в линии. На этом эффекте и основана возможность обнаруживать ошибки при использовании избыточных кодов. Из запрещенных кодов некоторые могут использоваться как служебные.

    2) Ну да, про использование избыточных кодов только для выявления ошибок я прогнал :-)

    3) Согласен, что логическое кодирование не обязательно должно уменьшать пропускную способность канала. Но фактически если логическое кодирование не использует избыточные коды, то оно ни как не влияет на исходную кодировку и следовательно не способно сузить спектр сигнала, т.е. смысл в использовании такой кодировки теряется.

    4) Этот эксперимент просто показывает, что логическую кодировку можно легко заменить на другую. А вот с физической(или битовой) это провернуть сложнее. Хотя должен признать, что логическая кодировка влияя на спектр сигнала обладает некоторыми "физическими свойствами". И всё же её применяют к физической кодировке, поэтому её и выделяют в отдельный уровень.

    5) На счёт манчестерского кодирования согласится с вами не могу. Где вы увидели там 1B/2B код?

    1 сентября 2011 г. 14:39
  • 1) Групповые (логическими их назвали вы) коды типично расширяют спектр сигнала, а вовсе не сужают его. В самом деле, если вместо 6 бит передавать 8 то спектр сигнала увеличится на 8/6. Да, если ошибка в линии привела к запрещенному коду то ее можно обнаружить. Но ее нельзя исправить. Нельзя так же обнаружить ошибки которые привели в другому разрешенному коду. Поэтому использование групповых кодов для обнаружения ошибок по меньшей мере сомнительно, особенно с учетом что в хороших групповых кодах запрещенных комбинаций долбжно быть как можно меньше. Запрещенные коды обычно такие коды которые имеют большую постоянную составляющую сигнала при передаче в линии. Для обнаружения и коррекции ошубок обычно используется другие технологии на других уровнях модели OSI, обычно на уровне пакетов (например CRC или ECC).

    3. Код 8B/4Q сужает спектр сигнала в два раза. Другое дело что такой код не устраняет постоянной составлящей сигнала и поэтому может быть бесполезным.

    5. Вот так примерно: 0 -> 01; 1 -> 10 (или инверсия). Т.е. каждый бит кодируется двумя битами с двухкратной частотой расширяя спектр сигнала в два раза.


    This posting is provided "AS IS" with no warranties, and confers no rights.
    1 сентября 2011 г. 16:32
    Модератор
  • 1) Групповые (логическими их назвали вы) коды типично расширяют спектр сигнала, а вовсе не сужают его.

    Интересно, а что вы понимаете под спектром сигнала? По определению спектр сигнала это результат разложения сигнала на более простые в базисе ортогональных функций. В качестве разложения обычно используются преобразование Фурье, разложение по функциям Уолша, вейвлет-преобразование и др. А цель логического кодирования "запихать" спектр сигнала в пропускающую способность линии. Потому что если этого не сделать, то гармоники сигнала в линии будут "отрубаться", что в свою очередь приведёт к значительному искажению сигнала. То есть весь смысл логического кодирования, уменьшить искажение сигнала линией. Просто если пропускать по линии сигнал состоящий из одних нулей или единиц, то спектр сигнала будет расширяться. И мало того, что приёмник со временем может выйти из битовой синхронизации, так ещё и сигнал покинет полосу пропускания линии и начнёт искажаться.

    В самом деле, если вместо 6 бит передавать 8 то спектр сигнала увеличится на 8/6.

    Вот это можно продемонстрировать?

    Да, если ошибка в линии привела к запрещенному коду то ее можно обнаружить. Но ее нельзя исправить. Нельзя так же обнаружить ошибки которые привели в другому разрешенному коду. Поэтому использование групповых кодов для обнаружения ошибок по меньшей мере сомнительно.

    Так в предыдущем посте я вам и написал: На этом эффекте и основана возможность обнаруживать ошибки при использовании избыточных кодов.

    Особенно с учетом, что в хороших групповых кодах запрещенных комбинаций должно быть как можно меньше.

    Это по какому критерию "хорошести"? Например, код 4В/5В имеет запрещённых кодов 32-16=16, 5В/6В=64-32=32 и т.д.

    Запрещенные коды обычно такие коды которые имеют большую постоянную составляющую сигнала при передаче в линии. Для обнаружения и коррекции ошибок обычно используется другие технологии на других уровнях модели OSI, обычно на уровне пакетов (например CRC или ECC).

    Ну с этим я и не спорил.

    3. Код 8B/4Q сужает спектр сигнала в два раза. Другое дело что такой код не устраняет постоянной составляющей сигнала и поэтому может быть бесполезным.

    Опять же пример пожалуйста!

    5. Вот так примерно: 0 -> 01; 1 -> 10 (или инверсия). Т.е. каждый бит кодируется двумя битами с двукратной частотой расширяя спектр сигнала в два раза.

    Ну тут опять ересь про спектр сигнала.


    И того, разберитесь пожалуйста с понятием спектр сигнала, и поясните, что же вы хотели сказать!
    5 сентября 2011 г. 12:19
  • Я с понятиями спектров сигнала разобрался много лет назад когда получил красный диплом ЛЭТИ. :) Но спасибо за напоминание.

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

    Манчестер - хороший пример, так как это самое простое кодирование которое устраняет постоянную составляющую сигнала. Если лень то нетрудно найти объяснение как оно работает, например:

    "The bi-phase Manchester encoding can consume up to approximately twice the bandwidth of the original signal (20 MHz). This is the penalty for introducing frequent transitions. For a 10 Mbps LAN, the signal spectrum lies between the 5 and 20 MHz."

    http://www.erg.abdn.ac.uk/~gorry/eg3567/phy-pages/man.html

    Разумеется более сложные коды могут и уменьшать спектр сигнала за счет снижения бодовой скорость и увеличанию числа бит на символ, как например это делает 8B/6T с которого мы начали. Однако чудес не бывает и за это приходится платить помехозащищенностью.


    This posting is provided "AS IS" with no warranties, and confers no rights.
    5 сентября 2011 г. 17:22
    Модератор
  • Если вам не очевидно, что повышение частоты сигнала (которая определяется скоростью передачи символов по сравнению с исходным битрейтом который так же является баудрейтом) расширяет спектр сигнала возьмите любой софт для анализа сигналов и сравните спектры до и после кодирования. ... Разумеется более сложные коды могут и уменьшать спектр сигнала за счет снижения бодовой скорости и увеличению числа бит на символ, как например это делает 8B/6T с которого мы начали. Однако чудес не бывает и за это приходится платить помехозащищенностью.

    В общем случае спектр сигнала связан только с его формой. Когда вы говорите о передаче данных в сетях, то поскольку данные на линии меняются, то речь идёт о непериодическом сигнале. При этом увеличивая бодовую скорость на линии, вы естественно изменяете форму сигнала и тем самым влияете на его спектр увеличивая его. Теперь когда вы передаёте некоторую последовательность нулей и единиц, в ваших интересах, что бы эта последовательность статистически была более равномерно распределена. Т.к. если в последовательности будут встречаться большое количество идущих подряд нулей и единиц, то форма сигнала будет тяготеть(при классическом кодировании) к прямой линии, то есть иметь бесконечно широкий спектр. По этой причине используют способы кодирования при которых сигнал всё время меняется, дабы спектр сигнала оставался в заданных пределах. Например в кодировках NRZI, манчестерском кодировании, PAM-5 сигнал меняется на линии даже в том случае если данные не передаются. Постоянное изменение сигнала на линии нужно не только для того, чтобы удержать спектр сигнала в заданных границах, но ещё и потому, что если сигнал на линии будет по долгу иметь один потенциал, то рано или поздно приёмник выйдет из битовой синхронизации с передатчиком. Но даже если кодирование сводит постоянную составляющую к минимуму, всё равно улучшая статистическое распределение 0 и 1 сигнала, вы делаете его спектр более узким. Накой чётр вы привинтили к этому эффекту логическое кодирование и утверждаете, что использование кодирования 8В/6В "будет увеличивать спектр сигнала на 8/6" одному богу известно. Вы видимо не понимаете, что есть понятие бодовая скорость линии. И как бы вы ни извращались с логическим кодированием, вы больше чем позволяет бодовая скорость по линии не передадите. Единственное для чего нужно логическое кодирование, чтобы статистику подравнять и спектр сигнала в нужные границы вписать. Учитывая, что мы опять вернулись к тому с чего начали, я предлагаю вам ещё раз подумать о разнице между физическим кодированием сигнала в линии и трансформациям к ним применяемым, т.е. логическом кодировании.

    Манчестер - хороший пример, так как это самое простое кодирование которое устраняет постоянную составляющую сигнала. Если лень то нетрудно найти объяснение как оно работает, например:

    "The bi-phase Manchester encoding can consume up to approximately twice the bandwidth of the original signal (20 MHz). This is the penalty for introducing frequent transitions. For a 10 Mbps LAN, the signal spectrum lies between the 5 and 20 MHz."

    http://www.erg.abdn.ac.uk/~gorry/eg3567/phy-pages/man.html

    И что вы этим доказали, что используя разные методы логического кодирования для разных бодовых скоростей вы вписали сигнал в полосу пропускания? Так я всё время это вам и талдычу!




    • Предложено в качестве ответа Gennady Efimov - ge][ 6 сентября 2011 г. 7:44
    • Помечено в качестве ответа Cynic_ 6 сентября 2011 г. 12:57
    • Снята пометка об ответе Cynic_ 6 сентября 2011 г. 13:04
    • Изменено Cynic_ 6 сентября 2011 г. 13:04
    6 сентября 2011 г. 7:42
  • Ржал как конь.

    Пешыте ищо.


    6 сентября 2011 г. 7:51
  • слушай, мужык. я нихера не понял из того что ты мне сказал, но ты достучался до моего сердца, и я помогу тебе :)
    mcp, mcdba, mcsa, mcse, ccna
    6 сентября 2011 г. 8:53