Эндрю Уэзеролл - Компьютерные сети. 5-е издание
- Название:Компьютерные сети. 5-е издание
- Автор:
- Жанр:
- Издательство:Питер
- Год:2011
- ISBN:9785446100682
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Уэзеролл - Компьютерные сети. 5-е издание краткое содержание
Компьютерные сети. 5-е издание - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Рис. 2.17.Линейные коды (коды для линии связи): a — биты, б — NRZ; в — NRZI; г — Манчестер;
д — биполярный или AMI
NRZ — хорошая начальная точка для наших исследований, потому что это просто, но практически эта схема редко используется отдельно. Более сложные схемы могут преобразовать биты в сигналы, которые лучше отвечают техническим соображениям. Эти схемы называют линейными кодами( кодами для линии связи). Ниже, мы описываем линейные коды, которые помогают эффективно использовать пропускную способность, восстанавливать синхронизацию и баланс постоянного тока.
Эффективность использования полосы частот
С NRZ сигнал может циклически повториться между положительными и отрицательными уровнями для каждых двух битов (в случае чередования единиц и нулей). Это означает, что когда скорость битов — B бит/с, необходима полоса, по крайней мере, B/2 Гц. Данное отношение получается из скорости Найквиста. Это — фундаментальный предел, таким образом, мы не можем выполнить NRZ быстрее, не используя большей полосы. Полоса является ограниченным ресурсом даже для проводных каналов, сигналы высокой частоты сильнее затухают, делая их менее полезными, а также требуют более скоростной обработки.
Одна из стратегий более эффективного использования ограниченной полосы состоит в том, чтобы использовать больше чем два сигнальных уровня. При использовании четырех уровней напряжения, например, мы можем послать два бита сразу как один символ. Эта схема будет работать, пока сигнал, поступающий в приемник, достаточно силен, чтобы эти четыре уровня различались. Скорость, с которой изменяется сигнал, является тогда половиной битрейта, таким образом, необходима меньшая полоса.
Мы называем скорость, с которой сигнал изменяет уровень, символьной скоростью, чтобы отличить ее от понятия битрейт. Битрейт — скорость символа, умноженная на число битов в символе. Более старое название символьной скорости, особенно в контексте устройств, названных телефонными модемами, которые передают цифровые данные по телефонным линиям — бодрейт(скорость в бодах). В литературе термины битрейт и бодрейт часто путают.
Заметьте, что количество уровней сигнала не обязательно должно быть степенью двойки. Часто это не так, некоторые из уровней используются для защиты от ошибок и упрощения конструкции приемника.
Синхронизация
Для всех схем, которые кодируют биты в символы, приемник, чтобы правильно расшифровывать биты, должен знать, когда символ заканчивается и начинается следующий символ. С NRZ, в котором символы — просто уровни напряжения, несколько подряд нулей или единиц оставляют сигнал неизменным. Через некоторое время трудно отделить биты, поскольку 15 нулей очень напоминают 16 нулей, если у вас нет очень точных часов.
Точные часы помогли бы с этой проблемой, но они — дорогое решение для массового оборудования. Помните, мы распределяем биты во времени по линиям связи, которые работают на высоких скоростях (много мегабит в секунду), таким образом, часы должны были бы отклоняться меньше чем на долю микросекунды в течение долгой работы. Это могло бы быть разумно для медленных каналов или коротких сообщений, но это не общее решение.
Одна из стратегий состоит в том, чтобы послать в приемник отдельный сигнал часов. Отдельная линия для часов — это не сложно для компьютерных шин или коротких кабелей, в которых есть много параллельных линий, но это расточительно для большинства сетевых каналов: если бы у нас была еще одна линия, чтобы послать сигнал, то мы могли бы использовать ее, чтобы послать данные. Здесь следует исхитриться смешать сигнал часов с сигналом данных и объединить их с помощью «исключающего или» так, чтобы никакая дополнительная линия не была необходима. Результат показан на рис. 2.17, г. Часы выполняют передачу сигнала часов в каждый момент прохождения бита, таким образом, это работает на скорости два битрейта. Когда сигнал часов объединяется с уровнем 0, происходит переход низкий-к-высокому, который является просто часами. Этот переход — логический 0. Когда он объединяется с уровнем 1, инвертируется и происходит переход от высокого к низкому. Этот переход — логическая 1. Эту схему называют Манчестерским кодированием, она использовалась для классического Ethernet.
Недостаток Манчестерского кодирования в том, что из-за часов требуется вдвое большая полоса пропускания, чем для NRZ, а мы знаем, что эта полоса часто важна. Другая стратегия основана на идее, что мы должны кодировать данные, чтобы гарантировать, что в сигнале есть достаточно много переходов. Предположим, что у NRZ будут проблемы синхронизации только для долгих последовательностей нулей или единиц. Если переходы будут происходить часто, то приемнику будет легко остаться синхронизированным с поступающим потоком символов.
В качестве шага в правильном направлении, мы можем упростить ситуацию, кодируя 1 как переход и 0 как отсутствие перехода, или наоборот. Это кодирование называют NRZI( Без возвращения к нулю с инверсией). Пример показан на рис. 2.17, в. Популярный стандарт соединения компьютера с периферийными устройствами —
USB( Универсальная последовательная шина) — использует NRZI. В этом случае длинные последовательности единиц не вызывают проблему.
Конечно, длинные последовательности нулей все еще вызывают проблему, которую мы должны решить. Если бы мы были телефонной компанией, то могли бы просто потребовать, чтобы отправитель не передал слишком много нулей подряд. Более старые цифровые телефонные линии в США, названные линиями T1, действительно фактически требовали, чтобы по ним посылали не больше чем 15 последовательных нулей, чтобы работать правильно. Чтобы действительно решить проблему, мы можем разбить последовательности нулей, отображая небольшие группы битов, которые будут переданы так, чтобы группы с последовательным нулями были отображены на немного более длинные образцы, у которых нет слишком длинных последовательностей нулей.
Один из известных кодов для этого называется 4B/5B. Каждые 4 бита отображены в 5-битовый образец с заданной таблицей преобразования. Эти пять комбинаций двоичных разрядов выбраны так, чтобы никогда не встречались больше трех последовательных нулей. Отображение показано в табл. 2.4. Эта схема добавляет 25 % накладных расходов, что лучше чем 100 % при Манчестерском кодировании. Так как имеется 16 входных комбинаций и 32 выходных комбинации, некоторые из выходных комбинаций не используются. За вычетом комбинаций со слишком многими последовательными нулями остаются еще некоторые. В качестве награды мы можем использовать эти коды, не соответствующие данным, чтобы представить управляющие сигналы физического уровня. Например, иногда «11111» обозначает свободную линию, а «11000» обозначает начало фрейма.
Читать дальшеИнтервал:
Закладка: