Компьютерные сети. Принц, техн, прот 1-303. Книга переведена на английский, испанский, китайский и португальский языки
Скачать 5.49 Mb.
|
Рис. 8.16. Компенсация несинхронности пользовательского потока с помощью указателя Кадр STM-1 состоит из поля данных и заголовка. В поле данных помещается виртуальный контейнер VC-4 (формально, в соответствии со схемой мультиплексирования, поле данных кадра STM-1 занимает блок AUG, но в случае размещения в нем блока AU-4 блок AUG совпадает с блоком AU-4, так как этот блок представлен в единственном экземпляре и мультиплексировать блоку AUG нечего). Заголовок кадра STM-1, называемый транспортным заголовком, или заголовком секции (Section Overhead, SOH), занимает 9 начальных байтов каждой из 9 строк кадра, кроме строки 4, которую он уступает полю указателя блока AU-4. Заголовок содержит данные, необходимые для демультиплексирования содержащихся в кадре блоков данных пользователей, обнаружения ошибок и уведомления передатчика о них, мониторинга качества работы сети, а также синхробайты, необходимые для распознавания начала кадра и его синхронизации. С помощью байтов синхронизации мультиплексоры распространяют по сети сигналы от точных источников синхронизации, то есть участвуют в создании сети синхронизации. Заголовки кадров STM-N более высокого уровня представляют собой побайтно мультиплексированный набор заголовков входящих в них кадров более низкого уровня, и в конечном счете заголовков кадров STM-1. Собственных полей кадры уровня выше 1-го не имеют. Под значение указателя отведены 10 бит полей Н1 и Н2, значение этих 10 бит рассматривается как целое положительное число. Значение указателя, умноженное на 3, дает смещение в байтах начала виртуального контейнера, отсчитываемое от поля НЗ. То есть когда указатель равен 0, виртуальный контейнер VC-4 начинается сразу же за полем НЗ. На рисунке показан другой случай, когда значение указателя равно 120 и виртуальный контейнер начинается с 360-го байта после поля НЗ. Коэффициент 3 при вычислении смещения нужен для того, чтобы смещение могло покрыть любые значения в пределах длины контейнера в 2340 байт, а десятиразрядное двоичное число для этого имеет недостаточную длину – его максимальное значение равно 1023. Умножение на 3 дает нам 3069, что избыточно, поэтому разрешенными значениями указателя являются числа от 0 до 782. Заметим, что отсчет начала виртуального контейнера от поля НЗ приводит к тому, что виртуальный контейнер VC-4 всегда сдвинут относительно начала кадра STM-1 на четыре строки, то есть располагается в двух последовательных кадрах. Теперь посмотрим, как указатель работает в случае рассогласования скорости пользовательских данных и мультиплексора. Предположим, что скорость пользовательских данных ниже, чем скорость мультиплексора. Это неизбежно приведет к ситуации, что в какой-то момент времени приема данных у мультиплексора просто не будет хватать их очередной порции для заполнения байтов виртуального контейнера. В таком случае мультиплексор вставляет три «холостых» (незначащих) байта в данные виртуального контейнера, после чего продолжает заполнение VC-4 «подоспевшими» за время паузы пользовательскими данными. Указатель наращивается на единицу, что отражает запаздывание начала очередного контейнера VC-4 на три байта, а факт вставки холостых трех байтов отмечается в поле Н1. Эта операция над указателем называется положительным выравниванием. В итоге средняя скорость отправляемых пользовательских данных становится равной скорости их поступления, причем без вставки дополнительных битов (битстафинга) в стиле PDH. В нашем примере значение указателя стало равным 121, что соответствует смещению начала виртуального контейнера на 363 байта. Если же скорость поступления данных контейнера VC-4 выше, чем скорость отправки кадра STM-1, то у мультиплексора периодически возникает проблема размещения «лишних», то есть преждевременно пришедших байтов, для которых в поле VC-4 нет места. В качестве дополнительного пространства используется трехбайтовое поле НЗ. Указатель при этом уменьшается на единицу, поэтому такая операция носит название отрицательного выравнивания. Для выравнивания других типов виртуальных контейнеров используются аналогичные механизмы на основе указателей, хранящихся в заголовках соответствующих блоков. Мы уже говорили о том, что мультиплексоры SDH в основном не буферизуют данные пользователей, передавая их побайтно и потактно на выходные порты. В то же время значения указателей и данные о структуре виртуальных контейнеров буферизуются, чтобы мультиплексор мог «на лету» выполнять операции мультиплексирования, демультиплексирования и коммутации. При изменении значения какого-либо указателя его новое значение заносится в буфер и применяется для нахождения начала очередного виртуального контейнера. Для контейнеров верхнего уровня VC-4 и VC-3 (в блоке AU-3) начало контейнера находится непосредственно по значению указателя в 4-й строке заголовка кадра STM-1, а для контейнеров нижнего уровня VC-11, VC-12, VC-2 (и VC-3 с блоком TU-2) – за две операции: сначала нужно найти начало контейнера VC-4 по его указателю, затем прочитать значение указателя контейнера нижнего уровня и найти положение этого контейнера относительно указателя в последовательности байтов контейнера верхнего уровня. Коммутация в SDH Теперь рассмотрим, каким образом сеть SDH коммутирует пользовательские соединения STM-N. Напомним, что, в отличие от компьютерных сетей с коммутацией пакетов, сети SDH являются сетями с коммутацией каналов, причем соединения между пользователями сети с помощью этих каналов носят полупостоянный характер, то есть не изменяются в течение длительного промежутка времени между операциями по переконфигурации сети, когда создаются новые соединения. Кроме того, каждое соединение-канал характеризуется определенной и известной пропускной способностью. Единицей коммутации в технологии SDH являются виртуальные контейнеры – именно они, а не кадры STM-1, фигурируют в таблицах коммутации мультиплексоров сети. Следовательно, контейнеры должны быть однозначно идентифицированы в структуре кадра STM-1. Не существует единого стандартного способа идентификации виртуальных контейнеров SDH, но на основе имеющейся у администратора сети схемы отображения и мультиплексирования это достаточно просто сделать, присвоив номера тайм-слотам контейнеров при их мультиплексировании в блоки более высокого уровня. Пусть, например, пользовательские данные в нашей сети обрабатываются согласно схеме, фрагмент которой приведен на рис. 8.17, а номера тайм-слотов, выделенных каждому из мультиплексируемых блоков, соответствуют указанным на рисунке. Тогда набор чисел (2, 5, 3) однозначно идентифицирует виртуальный контейнер VC-12. Заметим, что при локализации байтов виртуального контейнера VC-12 в кадре STM-1 по его составному идентификатору мы использовали знание конкретного варианта отображения и мультиплексирования, назначенного данному мультиплексору администратором при конфигурировании. Без этого мы бы не смогли однозначно определить, какой тип контейнера задает идентификатор 2, 5, 3 и какой конкретно виртуальный контейнер из множества контейнеров этого типа имеется в виду. Если добавить к идентификатору 2, 5, 3 виртуального контейнера номер порта, на который поступают или передаются его данные, например РЗ, то мы получим полный идентификатор РЗ, 2, 5, 3, который может использоваться в таблицах коммутации мультиплексора STM-N. Проиллюстрируем технику коммутации виртуальных контейнеров на примере сети (рис. 8.18). Пусть у нас имеются следующие исходные данные для проектирования сети: пользователи сети а 1 –а4, b 1 –Ь4, с 1 –с4 и d 1 –d4 находятся в четырех географических точках А, В, С и D соответственно; в каждой точке имеется по четыре пользователя и каждый из них имеет оборудование с интерфейсом STM-1 для подключения к нашей сети; пользователям необходимы следующие постоянные соединения скорости STM-1: al- с2, а2–cl, аЗ–с4, а4–сЗ, bl– d3, Ь2–d4, ЬЗ–d 1, Ь4–d2. На рисунке, с тем чтобы его не загромождать, показаны только два требуемых соединения: а4 – Ь2 и с2 – d4. Исходя из скоростей пользователей понятно, что в каждой точке нужно установить мультиплексоры с четырьмя трибутарными портами STM-1. Предположим, география расположения точек такова, что эффективным решением является топология сети типа «цепь» с терминальными мультиплексорами MUX-1 и MUX-4 в точках А и D и промежуточными мультиплексорами ввода-вывода в точках В и С. Топология соединений пользователей такова, что на участках А-В и С-D необходимо передавать четыре потока STM-1 через агрегатные порты мультиплексоров, а на участке В-С – восемь потоков STM-1. В соответствии с таким распределением соединений мы можем выбрать для участков A-В и С-D агрегатные порты STM-4, а для участка В-С – агрегатные порты STM-16 как порты минимального уровня, которые способны передавать данные восьми потоков STM-1. Возможно, это не самое дальновидное решение, потому что на участках А-В и С-D не остается свободной пропускной способности, из-за чего наша сеть не сможет обслуживать новых пользователей. Тем не менее текущие потребности пользователей удовлетворить мы можем, если правильно составим и загрузим в мультиплексоры соответствующие таблицы коммутации. Мы выбрали достаточно простой случай, требующий коммутации контейнеров VC-4, поэтому идентификатор контейнера будет состоять: для портов STM-1 – только из номера порта, так как в кадре STM-1 имеется только один контейнер VC-4, не требующий идентификации; для портов STM-4 – из двух компонент: номера порта и номера STM-1 в кадре STM-4. Дальнейшая идентификация не нужна, поскольку виртуальный контейнер VC-4 имеется в кадре STM-1 в единственном экземпляре. Если считать, что номер пользователя соответствует номеру порта Рп мультиплексора, а агрегатный порт обозначается как А1, то таблица коммутации мультиплексора MUX-1 может иметь следующий вид: Pl <->{А1,1}, Р2 <–> {А1, 2}, РЗ <-> {А1, 3), Р4<–>{А1,4}. Каждая запись говорит о том, что байты контейнера VC-4 из кадра STM-1 трибутарного порта Рк копируются в байты виртуального контейнера VC-4 k-го кадра STM-1 составного кадра STM-4 агрегатного порта А1. Мультиплексор ввода-вывода MUX-2 должен передавать кадры STM-1, поступающие на его агрегатный порт А1, без изменения на агрегатный порт А2. Так как порт А2 – это порт STM-16, то у него имеется возможность передавать данные четырех пользовательских потоков STM-1 в любых четырех из 16 кадров STM-1, входящих в состав кадра STM-16. Пусть мультиплексор MUX-2 выбрал из 16 кадров первые четыре. Тогда в его таблице коммутации MUX-2 могут быть сформированы следующие записи: {А1,1} <–> {А2,1), {А1, 2} <–> {А2, 2}, {А1,3} < > {А2, 3}, {А1,4} <–> {А2,4}. Кроме того, мультиплексор MUX-2 должен вывести из кадра STM-16 четыре кадра STM-1 от пользователей dl-d4, которым нужны соединения с пользователями Ы-Ь4. Если предположить, что мультиплексор MUX-3 сконфигурирован так, что он передает данные пользователя dl в пятом кадре STM-1 кадра STM-16, пользователя d2 – в шестом, пользователя d3 – в седьмом и пользователя d4 – в восьмом, то дополнительно в его таблице коммутации должны появиться такие строки: {А2, 5} <–> РЗ (соединение ЬЗ – dl); {А2, 6} <– > Р4 (соединение Ь4 – d2); (А2, 7) <–> Pl (соединение bl – d3); {А2, 8) <–> Р2 (соединение Ь2 - d4). Читатель может сам завершить конфигурирование мультиплексоров сети, предложив таблицы коммутации мультиплексоров MUX-3 и MUX-4. Технология SDH не предусматривает автоматическое нахождение маршрута, как это делают протоколы маршрутизации в пакетных сетях. В связи с этим таблица коммутации формируется оператором сети либо вручную, либо с помощью программного обеспечения системы управления сетью. Отказоустойчивость сетей SDH Одним из главных требований к магистральным сетям, наряду с высокой скоростью, является высокая надежность. Надежность является одной из сильных сторон сетей SDHи обеспечивается за счет ряда средств отказоустойчивости, которые позволяют сети быстро (менее чем за 50 миллисекунд) восстановить работоспособность в случае отказа какого- либо элемента сети – линии связи, порта мультиплексора или мультиплексора в целом. Такое быстрое переключение на резервный путь очень важно при передаче голосового трафика, поскольку обеспечивает приемлемое для абонентов телефонной сети качество связи даже в условиях отказов элементов сети. В SDH в качестве общего названия механизмов отказоустойчивости используется термин |