Компьютерные сети

Компьютерные сети

Н. Олифер

Неравномерное кодирование наиболее эффективно, когда неравномерность распределения частот передаваемых символов велика, как при передаче длинных текстовых строк. Напротив, при передаче двоичных данных, например кодов программ, оно малоэффективно, так как 8-битные коды при этом распределены почти равномерно.

Одним из наиболее распространенных алгоритмов, на основе которых строятся неравномерные коды, является алгоритм Хафмана, позволяющий строить коды автоматически на основании известных частот появления символов. Существуют адаптивные модификации метода Хафмана, которые позволяет строить дерево кодов «на ходу», по мере поступления данных от источника.

Многие модели коммуникационного оборудования, такие как модемы, мосты, коммутаторы и маршрутизаторы, поддерживают протоколы динамической компрессии, позволяющие сократить объем передаваемой информации в 4, а иногда и в 8 раз. В таких случаях говорят, что протокол обеспечивает коэффициент сжатия 1:4 или 1:8. Существуют стандартные протоколы компрессии, например V.42bis, а также большое количество нестандартных фирменных протоколов. Реальный коэффициент компрессии зависит от типа передаваемых данных. Так, графические и текстовые данные обычно сжимаются хорошо, а коды программ — хуже.

Обнаружение и коррекция ошибок

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

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

Избыточную служебную информацию принято называть контрольной суммой, или контрольной последовательностью кадра (Frame Check Sequence, FCS). Контрольная сумма вычисляется как функция от основной информации, причем не обязательно путем суммирования. Принимающая сторона повторно вычисляет контрольную сумму кадра по известному алгоритму и в случае ее совпадения с контрольной суммой, вычисленной передающей стороной, делает вывод о том, что данные были переданы через сеть корректно. Рассмотрим несколько распространенных алгоритмов вычисления контрольной суммы, отличающихся вычислительной сложностью и способностью обнаруживать ошибки в данных.

Контроль по паритету представляет собой наиболее простой метод контроля данных. В то же время это наименее мощный алгоритм контроля, так как с его помощью можно обнаруживать только одиночные ошибки в проверяемых данных. Метод заключается в суммировании по модулю 2 всех битов контролируемой информации. Нетрудно заметить, что для информации, состоящей из нечетного числа единиц, контрольная сумма всегда равна 1, а при четном числе единиц — 0. Например, для данных 100101011 результатом контрольного суммирования будет значение 1. Результат суммирования также представляет собой один дополнительный бит данных, который пересылается вместе с контролируемой информацией. При искажении в процессе пересылки любого одного бита исходных данных (или контрольного разряда) результат суммирования будет отличаться от принятого контрольного разряда, что говорит об ошибке. Однако двойная ошибка, например 110101010, будет неверно принята за корректные данные. Поэтому контроль по паритету применяется к небольшим порциям данных, как правило, к каждому байту, что дает коэффициент избыточности для этого метода 1/8. Метод редко используется в компьютерных сетях из-за значительной избыточности и невысоких диагностических возможностей.

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

Циклический избыточный контроль (Cyclic Redundancy Check, CRC) является в настоящее время наиболее популярным методом контроля в вычислительных сетях (и не только в сетях, например, этот метод широко применяется при записи данных на гибкие и жесткие диски). Метод основан на представлении исходных данных в виде одного многоразрядного двоичного числа. Например, кадр стандарта Ethernet, состоящий из 1024 байт, рассматривается как одно число, состоящее из 8192 бит. Контрольной информацией считается остаток от деления этого числа на известный делитель R. Обычно в качестве делителя выбирается семнадцати- или тридцатитрехразрядное число, чтобы остаток от деления имел длину 16 разрядов (2 байт) или 32 разряда (4 байт). При получении кадра данных снова вычисляется остаток от деления на тот же делитель Д, но при этом к данным кадра добавляется и содержащаяся в нем контрольная сумма. Если остаток от деления на R равен нулю, то делается вывод об отсутствии ошибок в полученном кадре, в противном случае кадр считается искаженным.

Этот метод обладает более высокой вычислительной сложностью, но его диагностические возможности гораздо выше, чем у методов контроля по паритету. Метод CRC позволяет обнаруживать все одиночные ошибки, двойные ошибки и ошибки в нечетном числе битов. Метод обладает также невысокой степенью избыточности. Например, для кадра Ethernet размером 1024 байт контрольная информация длиной 4 байт составляет только 0,4 %.
Методы коррекции ошибок

Техника кодирования, которая позволяет приемнику не только понять, что присланные данные содержат ошибки, но и исправить их, называется прямой коррекцией ошибок (Forward Error Correction, FEC). Коды, которые обеспечивают прямую коррекцию ошибок, требуют введения большей избыточности в передаваемые данные, чем коды, только обнаруживающие ошибки.

При применении любого избыточного кода не все комбинации кодов являются разрешенными. Например, контроль по паритету делает разрешенными только половину кодов. Если мы контролируем три информационных бита, то разрешенными 4-битными кодами с дополнением до нечетного количества единиц будут:
000 1,001 0,010 0,011 1,100 0,101 1,110 1,111 0
То есть всего 8 кодов из 16 возможных.

Для того чтобы оценить количество дополнительных битов, требуемых для исправления ошибок, нужно знать так называемое расстояние Хемминга между разрешенными комбинациями кода. Расстоянием Хемминга называется минимальное число битовых разрядов, в которых отличается любая пара разрешенных кодов. Для схем контроля по паритету расстояние Хемминга равно 2.

Можно доказать, что если мы,,сконструировали избыточный код с расстоянием Хемминга, равным я, то такой код будет в состоянии распознавать (я-1)-кратные ошибки и исправлять (я-1)/2-кратные ошибки. Так как коды с контролем по паритету имеют расстояние Хемминга, равное 2, то они могут только обнаруживать однократные ошибки и не могут исправлять ошибки.

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

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

Методы прямой коррекции ошибок особенно эффективны для технологий физического уровня, которые не поддерживают сложные процедуры повторной передачи данных в случае их искажения. Примерами таких технологий являются технологии SDH и OTN, рассматриваемые в главе 11.
Мультиплексирование и коммутация

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

В настоящее время для мультиплексирования абонентских каналов используются:
□ частотное мультиплексирование (Frequency Division Multiplexing, FDM);
□ волновое мультиплексирование (Wave Division Multiplexing, WDM);
□ временное мультиплексирование (Time Division Multiplexing, TDM);
□ множественный доступ с кодовым разделением (Code Division Multiple Access, CDMA).

Метод TDM используется при коммутации как каналов, так и пакетов. Методы FDM, WDM и CDMA пригодны исключительно для коммутации каналов. Метод CDMA применяется только в технике расширенного спектра и рассматривается в следующей главе, посвященной беспроводной передаче.
Коммутация каналов на основе методов FDM и WDM

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

На основе этого диапазона создается канал. Данные, передаваемые в канале, модулируются с помощью одного из описанных ранее методов с использованием несущей частоты, принадлежащей диапазону канала. Мультиплексирование выполняется с помощью смесителя частот, а демультплексцрование — с помощью узкополосного фильтра, ширина которого равна ширине диапазона канала.

Рассмотрим особенности этого вида мультиплексирования на примере телефонной сети. На входы FDM-коммутатора поступают исходные сигналы от абонентов телефонной сети. Коммутатор переносит частоту каждого канала в выделенный каналу диапазон за счет модуляции определенной несущей частоты. Чтобы низкочастотные составляющие сигналов разных каналов не смешивались между собой, полосы делают шириной в 4 кГц, а не в 3,1 кГц, оставляя между ними страховочный промежуток в 900 Гц (рис. 9.10). В линии связи между двумя FDM-коммутаторами одновременно передаются сигналы всех абонентских каналов, но каждый из них занимает свою полосу частот.Такой канал называют уплотненным.

Выходной FDM-коммутатор выделяет модулированные сигналы каждой несущей частоты и передает их на соответствующий выходной канал, к которому непосредственно подключен абонентский телефон.

FDM-коммутаторы могут выполнять как динамическую, так и постоянную коммутацию. При динамической коммутации один абонент инициирует соединение с другим абонентом, посылая в сеть номер вызываемого абонента. Коммутатор динамически выделяет данному абоненту одну из свободных полос своего уплотненного канала. При постоянной коммутации за абонентом полоса в 4 кГц закрепляется на длительный срок путем настройки коммутатора по отдельному входу, недоступному пользователям.

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

В методе волнового мультиплексирования (WDM) используется тот же принцип частотного разделения каналов, но только в другой области электромагнитного спектра. Информационным сигналом является не электрический ток и не радиоволны, а свет. Для организации WDM-каналов в волоконно-оптическом кабеле задействуют волны инфракрасного диапазона длиной от 850 до 1565 нм, что соответствует частотам от 196 до 350 ТГц.

В магистральном канале обычно мультиплексируется несколько спектральных каналов — до 16, 32, 40, 80 или 160, причем, начиная с 16 каналов, такая техника мультиплексирования называется уплотненным волновым мультиплексированием (Dense Wave Division Multiplexing, DWDM). Внутри такого спектрального канала данные могут кодироваться как дискретным способом, так и аналоговым. По сути WDM и DWDM — это реализации идеи частотного аналогового мультиплексирования, но в другой форме. Отличие сетей WDM/DWDM от сетей FDM заключается в предельных скоростях передачи информации. Если сети FDM обычно обеспечивают на магистральных каналах одновременную передачу до 600 разговоров, что соответствует суммарной скорости в 36 Мбит/с (для сравнения с цифровыми каналами скорость пересчитана из расчета 64 Кбит/с на один разговор), то сети DWDM обеспечивают общую пропускную способность до сотен гигабитов и даже нескольких терабитов в секунду.

Более подробно технология DWDM рассматривается в главе 11.
Коммутация каналов на основе метода TDM

FDM-коммутация разрабатывалась в расчете на передачу голосовых аналоговых сигналов. Переход к цифровой форме представления голоса стимулировал разработку новой техники мультиплексирования, ориентированной на дискретный характер передаваемых данных и носящей название временного мультиплексирования (TDM). Принцип временного мультиплексирования заключается в выделении канала каждому соединению на определенный период времени. Применяются два типа временного мультиплексирования — асинхронный и синхронный. С асинхронным режимом TDM мы уже знакомы — он применяется в сетях с коммутацией пакетов. Каждый пакет занимает канал определенное время, необходимое для его передачи между конечными точками канала. Между различными информационными потоками нет синхронизации, каждый пользователь пытается занять канал тогда, когда у него возникает потребность в передаче информации.

Рассмотрим теперь синхронный режим TDM
1
. В этом случае доступ всех информационных потоков к каналу синхронизируется таким образом, чтобы каждый информационный поток периодически получал канал в свое распоряжение на фиксированный промежуток времени.
Рисунок 9.11 поясняет принцип коммутации каналов на основе техники TDM при передаче голоса.

Аппаратура TDM-сетей — мультиплексоры, коммутаторы, демультиплексоры — работает в режиме разделения времени, поочередно обслуживая в течение цикла своей работы все абонентские каналы. Цикл равен 125 мкс, что соответствует периоду следования замеров голоса в цифровом абонентском канале. Это значит, что мультиплексор или коммутатор успевает вовремя обслужить любой абонентский канал и передать его очередной замер далее по сети. Каждому соединению выделяется один квант времени цикла работы аппаратуры, называемый также тайм-слотом. Длительность тайм-слота зависит от числа абонентских каналов, обслуживаемых мультиплексором или коммутатором.

Когда аббревиатура TDM используется без уточнения режима работы, то она всегда обозначает синхронный режим TDM.
Буферная память
Рис. 9.11. Коммутация на основе разделения канала во времени

В сети, показанной на рисунке, путем коммутации создано 24 канала, каждый из которых связывает пару абонентов. В частности, абонент, подключенный к входному каналу 1, связан с абонентом, подключенным к выходному каналу 24, абонент входного канала 2 связан с абонентом выходного канала 1, аналогично коммутируются между собой абоненты входного канала 24 и выходного канала 2. Мультиплексор Ml принимает информацию от абонентов по входным каналам, каждый из которых передает данные со скоростью 1 байт каждые 125 мкс (64 Кбит/с). В каждом цикле мультиплексор выполняет следующие действия:

1. Прием от каждого канала очередного байта данных.
2. Составление из принятых байтов кадра.
3. Передача кадра на выходной канал с битовой скоростью, равной 24 х 64 Кбит/с, что примерно составляет 1,5 Мбит/с.

Порядок следования байта в кадре соответствует номеру входного канала, от которого этот байт получен. Коммутатор 51 принимает кадр по скоростному каналу от мультиплексора и записывает каждый байт из него в отдельную ячейку своей буферной памяти, причем в том порядке, в котором байты были упакованы в уплотненный кадр. Для выполнения коммутации байты извлекаются из буферной памяти не в порядке поступления, а в том порядке, который соответствует поддерживаемым в сети соединениям абонентов. В рассматриваемом примере коммутатор 51 коммутирует входные каналы 1,2 и 24 с выходными каналами 24, 2 и 1 соответственно. Для выполнения этой операции первым из буферной памяти должен быть извлечен байт 2, вторым — байт 24, а последним — байт 1. «Перемешивая» нужным образом байты в кадре, коммутатор обеспечивает требуемое соединение абонентов в сети.

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

Работа TDM-оборудования напоминает работу сетей с коммутацией пакетов, так как каждый байт данных можно считать некоторым элементарным пакетом. Однако в отличие от пакета компьютерной сети «пакет» TDM-сети не имеет индивидуального адреса. Его адресом является порядковый номер в кадре или номер выделенного тайм-слота в мультиплексоре или коммутаторе. Сети, использующие технику TDM, требуют синхронной работы всего оборудования, что и определило второе название этой техники — синхронный режим передачи (Synchronous Transfer Mode, STM).

Нарушение синхронности разрушает требуемую коммутацию абонентов, так как при этом изменяется относительное положение слота, а значит, теряется адресная информация. Поэтому оперативное перераспределение тайм-слотов между различными каналами в TDM-оборудовании невозможно. Даже если в каком-то цикле работы мультиплексора тайм-слот одного из каналов оказывается избыточным, поскольку на входе этого канала в данный момент нет данных для передачи (например, абонент телефонной сети молчит), то он передается пустым.

Существует модификация техники TDM, называемая статистическим временным мультиплексированием (Statistical TDM, STDM). Эта техника разработана специально для того, чтобы с помощью временно свободных тайм-слотов одного канала можно было увеличить пропускную способность остальных. Для решения этой задачи каждый байт данных дополняется полем адреса небольшой длины, например в 4 или 5 бит, что позволяет мультиплексировать 16 или 32 канала. Фактически STDM представляет собой уже технику коммутации пакетов, но только с очень упрощенной адресацией и узкой областью применения. Техника STDM не стала популярной и используется в основном в нестандартном оборудовании подключения терминалов к мэйнфреймам. Развитием идей статистического мультиплексирования стала технология асинхронного режима передачи (Asynchronous Transfer Mode, ATM), которая относится уже к коммутации пакетов.

TDM-сети могут поддерживать режим динамической или постоянной коммутации, а иногда и оба эти режима. Основным режимом цифровых телефонных сетей, работающих на основе технологии TDM, является динамическая коммутация, но они поддерживают также и постоянную коммутацию, предоставляя своим абонентам выделенную линию.
Дуплексный режим работы канала

Дуплексный режим — это наиболее универсальный и производительный режим работы канала. Самым простым вариантом организации дуплексного режима является использование двух независимых линий связи (двух пар проводников или двух оптических волокон) в кабеле, каждая из которых работает в симплексном режиме, то есть передает данные в одном направлении. Именно такая идея лежит в основе реализации дуплексного режима работы многих сетевых технологий, например Fast Ethernet или ATM.

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


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

Report Page