Содержание данной главы
2.6. Ограничения на передачу сигнала и информационная емкость канала.
Пропускная способность линий связи - это количество бит, передаваемых по линиям связи за единицу времени. Измеряется: бит/сек, Кбит/сек, Мбит/сек, Гбит/сек.
Полоса пропускания линий связи - это диапазон частот, гарантированно воспринимаемых приемником. Это физическая характеристика среды передачи данных и зависит обычно от конструкции, толщины и длины носителя. Сетевой трафик - поток информации, передаваемый по сети. Кроме полезной информации, включает и служебную ее часть - неизбежные накладные расходы на организацию взаимодействия узлов сети.
Каналы связи имеют ограниченную пропускную способность. Она связана с его полосой пропускания и соотношением сигнал/шум в канале.
Первым фактором, определяющим количество информации, которая может быть передана по каналу, является максимальная скорость передачи сигнала, поддерживаемая этим каналом связи.
Наличие изменения в сигнале может рассматриваться как сигнализирующее событие вне зависимости от природы сигнала (аналогового или цифрового).
Для широкополосных систем изменение одной частоты или амплитуды на другую свидетельствует о сигнализирующем событии.
Для узкополосных систем переход от одного дискретного состояния в другое (например, от +12V к -12V) также является подобным событием. Такие сигнализирующие события обычно носят специальное название - боды.
Таким образом, максимальная скорость передачи сигналов, поддерживаемая каналом, эквивалентна максимальной скорости передачи в бодах, поддерживаемых этим каналом связи.
На уровне физических сигналов вместо битовой скорости (бит/сек) оперируют понятием изменения сигнала в линии, измеряемой в бодах. Под ней понимается число изменений различных состояний линии за единицу времени.
В 1924 г. Гарольд Найквист (Bell Telephone Laboratories) открыл зависимость между полосой пропускания канала связи и его максимальной скоростью передачи в бодах.
Скорость в бодах не может превышать полосу пропускания канала более чем вдвое, т.е. для телефонной лини с полосой пропускания 3000 Гц, скорость передачи в бодах не может быть выше, чем 6000 бод.
Во многих схемах кодирования каждый переход сигнала в канале соответствует передаче бита от передатчика (Tx) к приемнику (Rx). Тогда скорость в бодах и битах совпадает (1 бит за один бод).
Другие схемы кодирования (для аналоговой и цифровой) могут передать более одного бита в течение одного сигнализирующего события (несколько бит за один бод). В них скорость в битах будет больше скорости в бодах.
Такие схемы классифицируются в терминах, характеризующих количество бит информации, переданных за каждый переход сигнала.
- dibit - 2 бита/бод
- tribit - 3 бита/бод
- quadbit - 4 бита/бод
Сейчас широко распространена схема кодирования DPSK - относительная фазовая модуляция.
Если демодулятор может распознать разницу между двумя фазами синусоидальной волны, он передает один бит информации с каждым изменением фазы. Для создания такого модема можно назначить ноль одной фазе (например, со сдвигом 0 градусов), а цифровое значение 1 - другой фазе (со сдвигом 180 градусов). Каждый раз при переключении модема между фазами 0 и 180 передается один бит информации. Чувствительность демодулятора можно повысить, чтобы он различал промежуточные фазы (90 и 270 градусов), т.е. при распознавании 4-х фаз волны мы можем назначить каждой фазе 2-х битовое значение.
- 0 градусов - 00
- 90 градусов - 01
- 180 градусов - 10
- 270 градусов - 11
2.7. Последовательная и параллельная передача.
Параллельная передача.
Последовательная передача.
При параллельной передаче все линии используются для передачи данных, кроме одной, зарезервированной для передачи синхросигнала между отправителем и получателем. Биты передаются через линии одновременно с большой скоростью, но это преимущество нейтрализуется явлением, называемым перекосом шины или рассогласованием, при котором устройство реагирует на распространяемый сигнал не одинаково. Т.к. каждая линия канала связи имеет свои электрические характеристики, биты данных в каждом канале могут вести себя по-разному. Тогда биты, помещенные источником в канал, имея разную относительную скорость достигнут приемника в разное время. Этот эффект усиливается с расстоянием, поэтому параллельные имеют ограничение по длине.
В последовательной передаче между источником и приемником существует только один канал связи, поэтому биты должны следовать по каналу один за другим. Это вызывает ограничение по скорости в сравнении с параллельными каналами. В последовательных каналах нет проблемы рассогласования, поэтому их можно использовать для связи на дальних расстояниях. Но возникает другая проблема - необходимость в синхронизации приемника и передатчика.
2.8. Побитная синхронизация.
Rx (приемник) должен четко знать, когда нужно обратиться к линии, чтобы снять бит. Проблема решается использованием синхронизирующих устройств (генераторов) на каждом конце линии. Генератор передатчика задает темп передачи бит в линию. Генератор получателя определяет темп, с которым он должен опрашивать линию.
Если генератор передатчика должен выдавать в линию 100 бит/сек, то он настраивается на такую скорость и на ходе получателя тогда биты будут появляться каждую 1/100 сек. Если генератор получателя тоже настроен на 100 бит/сек, то получатель будет опрашивать линию 100 раз в сек.
Получатель обычно опрашивает состояние линии в течение очень короткого времени, чтобы определить находится линия в состоянии 1 или 0. При опросе линии во время перехода от 1 к 0 или наоборот возникает неоднозначность. Лучшей точкой для опроса является положение в центре бита и получатель может найти его, используя переход 1-0 или 0-1 в качестве опорной точки. Получатель может запустить его на одном из этих переходов, подождать половину времени длительности бита и затем опросить состояние линии. Стробирование (опрос) линии выполняется через интервал времени, равный длительности одного бита. Если генераторы Tx и Rx работают с одинаковой частотой, то биты будут опрашиваться в "правильные" моменты времени. При расхождении генераторов возможны ошибки распознания бит. Обычно генераторы всегда будут расходиться в частотах, поэтому необходима постоянная их синхронизация через определенные промежутки времени.
Есть некоторые системы, в которых сигналы синхронизации передаются по линиям вместе с данными, так что получатель может выделить синхроимпульсы, которые точно совпадают с синхроимпульсами самого источника.
Существует два способа синхронизации передатчика и приемника:
- Основывается на явной синхронизации при обмене информацией. Это синхронная передача. Она означает, что передатчик и приемник синхронизируются от одного источника. Приемник работает при этом синхронно с передатчиком (с фазовым сдвигом, обусловленным временем распространения сигнала). Синхросигнал либо передается по отдельной линии связи, либо встроен в основной сигнал с помощью самосинхронизирующего кодирования. При синхропередаче передатчик постоянно активен. Он непрерывно посылает битовую последовательность если не полезных данных, то некоторого заполнителя.
- Основывается на неявной синхронизации взаимодействующих устройств. Это асинхронная передача, т.е. передатчик и приемник не пользуются общим источником синхронизации. Передача очередной порции может быть начата в любой момент времени и время прохождения соседних блоков данных между передатчиком и приемником может быть разным.
2.9. Посимвольная синхронизация.
Посимвольная синхронизация заключается в определении группы бит, принадлежащих конкретному символу.
Задача - определить в сплошном потоке бит первый бит символа. Тогда, зная количество бит в символе, можно собирать символы. Определение первого бита в символе зависит от типа передачи.
Определение символов в синхронной передаче.
Используются для передачи целых блоков данных. При этом длительность каждого бита в передаче одинакова и интервал времени между передачей последнего бита символа и первого бита следующего символа равна нулю или целому числу интервала времени, необходимого для передачи целого символа. Чтобы правильно определить начало символа в передаваемом блоке, перед ним указывается символ синхронизации (СИН). Это символ из таблицы кодов 16h. Приемник постоянно проверяет каждый принятый символ на равенство этой комбинации. Если она обнаруживается, то приемник начнет отсчитывать по 8 бит и собирать символы. Может возникнуть ложная синхронизация, если приемник выделит из потока символов комбинацию, совпадающую с "СИН". Для избежания этого вставляют 2 или 4 "СИН". Тогда приемник, обнаружив один "СИН" ожидает следующий "СИН" и если не находит, то переходит в режим "поиск синхронизации".
Определение символов в асинхронной передаче.
Используется в системах, где символы передаются поодиночке и не существует каких-либо жестких временных соотношений между соседними символами. Символы могут передаваться непрерывным потоком с нулевым промежутком между ними как в синхронной передаче, либо с промежутками между соседними символами от нескольких секунд до нескольких часов. При этом приемник должен восстанавливать синхронизацию на каждый символ и опознавать первый бит каждого символа. Это достигается включением в код каждого символа стартового элемента, который указывает на начало каждого символа.
Получатель обнаруживает стартовый элемент, опрашивая состояние линии. Когда линия свободна, т.е. по ней не передаются данные, то обычно она находится в состоянии единицы. При необходимости послать символ, передатчик переходит сначала в состояние ноль, который играет роль стартового элемента и извещает приемник о том, что следующие биты являются информационными, т.е. источник (Tx) генерирует стартовый бит, переключая линию из состояния 1 в состояние 0 на интервал времени, равный длительности одного бита. Далее следуют информационные биты. Приемник (Rx) обнаруживает изменение состояния линии и запускает свой генератор. Через интервал времени, равный половине длительности бита, получатель снова опрашивает линию, чтобы убедиться, что она все еще находится в состоянии ноль. Если это действительно так, то Rx интерпретирует ноль как стартовый бит, после чего он опрашивает линию с интервалами, равными длительности одного бита и собирает поступающий символ. Если после опроса линии приемник снова обнаружит 1, то он отнесет начальный переход из состояния 1 в состояние 0 на счет всплеска шума и не предпримет никаких действий. В конце каждого символа передается стоповый бит, чтобы вернуть генератор приемника в исходное состояние до начала передачи следующего символа. Стоповый элемент равен 1, а его длительность может быть разной в разных системах. Длина стопового бита определяется таким образом, чтобы дать устройству время для обработки символа и возвращения системы в исходное состояние.
Пример: передается 240 символов. Определить эффективность при синхронной и асинхронной передаче.
2.10. Контроль достоверности передачи.
При передаче данных по сложным распределенным сетям, имеющим линии связи, подверженные действиям помех, принимают ряд мер для обеспечения контроля достоверности (отсутствие ошибок). Контроль достоверности передачи требует введения некоторой избыточности в передаваемую информацию. Избыточность может вводиться как на уровне отдельных передаваемых символов или их групп, так и на уровне передаваемых кадров.
В избыточные поля передатчик (Tx) помещает код, вычисляемый по определенным правилам и с полезной информацией.
Приемник (Rx) сравнивает этот код с тем значением, которое он вычислил сам. Не совпадение значений свидетельствует об искажении информации, а совпадение - о высокой вероятности правильной передачи.
Вероятность обнаружения ошибки зависит от схемы контроля и соотношения размеров информационного и контрольного полей.
Самая надежная схема - это контроль паритета.
Самая неэкономичная - это дублирование информации.
Самое надежное обнаружение дает CRC-контроль.
Схема с вычислением контрольной суммы находится между паритетом и CRC.
- Дублирование информации. Сводится к повторению Tx одного и того же элемента дважды. Приемник проверяет совпадение копий. Дубль может возвращаться и приемником (Rx). Передатчик, приняв его сравнивает с тем, что послал и на основании этого делает вывод о правильности передачи.
Дублироваться может каждый бит, каждый байт или кадр.
Дублирование может применяться лишь для отдельных коротких элементов кадра.
Дублирование приводит к 100% накладным расходам.
- Контроль паритета. Использует контрольный бит, дополняющий число единичных бит контролируемого элемента до четного (контроль четности) или нечетного (контроль нечетности) значения, в зависимости от принятого соглашения.
Контроль паритета позволяет обнаруживать только ошибки нечетной кратности. Искажения 2, 4 и т.д. бит контролируемой области останутся незамеченными.
Кроме горизонтального, контроль может быть и вертикальным. При горизонтальном контроле бит паритета P вводится в каждый передаваемый символ. При вертикальном контроле для каждой группы символов (в данном случае 8 байт) биты паритета подсчитываются для каждой позиции и собираются в отдельный контрольный символ.
Возможно также сочетание горизонтального и вертикального контроля.
Контрольные суммы. Применяются для контроля целого кадра или нескольких его полей. Для них в кадре определено специальное поле (1, 2 или 4 байта). В контрольной сумме в свернутом виде хранится характеристика всех информационных битов. Разрядность контрольного кода определяет разрядность суммируемых слов. Существует два варианта подсчета контрольной суммы:
- сумма по модулю 2 всех байтов или слов пакета (xor).
Легко считается программным путем, но плохо выявляет искажение нескольких близких битов.
- арифметическая сумма всех байтов или слов пакета. При ее вычислении отбрасываются старшие разряды переполнения.
Чем больше длина кадра при той же длине контрольного кода, тем меньше вероятность обнаружения ошибок. Обнаружение ошибок ~99,6%
- Избыточный циклический код (CRC).
Пример: CRC - 4 бита.
10011 - делитель (простое число). Его разрядность на единицу больше, чем требуемая разрядность CRC. Для 8-разрядного CRC берется 9 (для 4 - 5; для 16 - 17)
При делении вместо вычитания применяют сложение по модулю 2.
Для 17 бит делитель определяется:
x16+x12+x5+1=1000100000010001b
Используется более сложный алгоритм. Вычисление программным путем сложное. Применяется аппаратная реализация. Надежность метода выше. Вероятность обнаружения ошибок составляет 99,9984%.
N - количество бит в пакете. Для вычисления CRC это число делится на некоторое постоянное число, выбранное специальным образом. Частное от этого деления отбрасывается, а остаток используется в качестве контрольной суммы.
Кадр, как длинное двоичное число с нулевым полем CRC делится на полином и остаток этого деления по модулю 2 помещается в поле CRC передаваемых данных. Приемник делит принятый кадр вместе с полем CRC на тот же полином и сравнивает остаток от деления с некоторым эталоном.
назад содержание вперед на
главную
|