Обмен сигналами LCAS.
Рассмотрим несколько наиболее распространенных сигнальных процессов для сигнализации LCAS, к которым относятся процессы обмена сигналами при увеличении и уменьшении размера виртуального коридора.
Увеличение размера VCG (команда ADD).
Пример сигнального обмена при присоединении нескольких контейнеров к VCG для случая двух контейнеров представлен на рис. 5.41.
|
NMS LCAS Sk Sk Sk Add cmnd
| ||||||
| CTRL=ADD | |||||
CTRL=ADD | connectivity chek | |||||
| MST=OK | connectivity chek | ||||
| ||||||
CTRL=NORM | CTRL=EOS | |||||
| MST=OK | |||||
| ||||||
CTRL=NORM | CTRL=EOS |
Рис. 5.41. Обмен сигналами в процессе ADD для случая двух контейнеров.
Соответствующее описание сигнального обмена по шагам, представленным на рисунке, приводится в табл. 5.11.
Таблица 5.11. Состав сигнального обмена LCAS в случае команды ADD.
Шаг | Член n | Новый член a | Новый член a+1 | |||||||
CTRL | SQ | MST | CTRL | SQ | MST | CTRL | SQ | MST | ||
Начальное состояние | EOS | n-1 | OK | IDLE | > n-1 | FAIL | IDLE | > n-1 | FAIL | |
Центр управления (NMS) передает команду ADD в систему сигнализации LCAS | EOS | n-1 | OK | IDLE | > n-1 | FAIL | IDLE | > n-1 | FAIL | |
Источник So для члена (a) генерирует сигнал (CTRL=ADD; SQ=n), для члена (a+1) – (CTRL=ADD; SQ=n+1) | EOS | n-1 | OK | ADD | n | FAIL | ADD | n+1 | FAIL | |
Приемник Sk (a) подтверждает MST=OK источнику So | EOS | n-1 | OK | ADD | n | OK | ADD | n+1 | FAIL | |
Значения полей So (n-1) (CTRL=NORM); So (a) (CNRL=EOS; SQ=n), член (а) становится частью VCG | NORM | n-1 | OK | EOS | n | OK | ADD | n+1 | FAIL | |
Подтверждение Sk (a+1) MST=OK | NORM | n-1 | OK | EOS | n | OK | ADD | n+1 | OK | |
Значение полей So (a) (CTRL=NORM); S0 (a+1) (CTRL=EOS);член (а+1) становится частью VCG | NORM | n-1 | OK | NORM | n | OK | EOS | n+1 | OK |
Как следует из таблицы, в данном случае используется последовательный алгоритм увеличения виртуального коридора. Сначала к VCG подключается контейнер (а), а затем – контейнер (а+1). Алгоритмами LCAS допускается и одновременное подключение двух контейнеров, так что сам алгоритм подключения допускает определенную свободу. Полезно также отметить, что новые контейнеры будут иметь в последовательности VCG номера SQ=n и SQ=n+1 соответственно, т. е. контейнеры добавляются к VCG в последовательном порядке.
Рассмотренный алгоритм допускает и потенциальные сбои в работе системы сигнализации. Например, если сигнал подтверждения присоединения нового контейнера MST=OK не приходит в течение определенного временного интервала, в системе LCAS генерируется сигнал о неисправности, связанный с нарушением команды ADD.
Теперь рассмотрим несколько процессов уменьшения коридора, которое может происходить по нескольким причинам:
- Плановое уменьшение коридора по командам от центра управления (NMS). В системе сигнализации LCAS имеется несколько алгоритмов для этого.
- Уменьшение коридора в связи возникновением неисправности в процессе передачи группы VCAT или в процессе изменения размера коридора. Также существует несколько различных алгоритмов такого уменьшения.
Получается асимметрия: на один унифицированный алгоритм увеличения скорости передачи в виртуальном коридоре существует 4 алгоритма ее уменьшения. Но именно это позволяет гарантировать стабильность работы сетей с LCAS. Увеличение размера коридора всегда связано с использованием ресурса, так что очень правильно, что есть только одно управляющее устройство, обеспечивающее этот алгоритм (NMS) и только один алгоритм. Наоборот, процесс уменьшения размера коридора – это освобождение ценного ресурса сети. Поэтому логично, что в LCAS имеется много различных алгоритмов , чтобы освободить ресурс как можно быстрее и эффективнее.
Уменьшение размера VCG (команда REMOVE) в случае удаления нескольких контейнеров из VCG.
Этот алгоритм был разработан для удаления контейнеров из VCG при условии, что ни один из этих контейнеров не является последним в последовательности. Удаление последнего контейнера представляет некоторую сложность и поэтому описывается специальным алгоритмом. В качестве примера предположим, что у нас имеется VCG размера n=6 членов (контейнеров), из которой требуется удалить контейнеры 4 и 5 (рис. 5.42).
|
mem4 mem5 mem6 (EOS)
NMS LCAS Sk Sk Sk
Команда
REMOVE
| ||||||
| ||||||
CTRL=IDLE SQ=4 | CTRL=IDLE SQ=5 | CTRL=IDLE SQ=3 | ||||
| ||||||
| MST=FAIL RS-Ack инверсия | |||||
MST=FAIL RS-Ack инверсия | ||||||
mem – член VCG
Рис. 5.42. Обмен сигналами в процессе REMOVE для случая двух не последних контейнеров.
Соответствующее описание сигнального обмена по шагам, представленным на рисунке, приведено в табл. 5.12.
Таблица 5.12. Состав сигнального обмена LCAS в случае команды REMOVE для нескольких контейнеров.
Шаг | член 4 | член 5 | член 6 | |||||||
CTRL | SQ | MST | CTRL | SQ | MST | CTRL | SQ | MST | ||
Начальное состояние | NORM | OK | NORM | OK | EOS | OK | ||||
Центр управления (NMS) посылает команду REMOVE в систему | NORM | OK | NORM | OK | EOS | OK | ||||
So (3) передает(CTRL=IDLE, SQ=4) So (4) передает(CTRL=IDLE, SQ=5) S0 (5) передаетSQ=3 | IDLE | OK | IDLE | OK | EOS | OK | ||||
Sk (исключенный член) передаетMST=FAIL и инвертирует бит RS-Ack | IDLE | FAIL | IDLE | OK | EOS | OK | ||||
Sk (исключенный член) передаетMST=FAIL и инвертирует бит RS-Ack | IDLE | FAIL | IDLE | FAIL | EOS | OK |
Основной принцип уменьшения состава VCG состоит в том, чтобы присвоить исключаемым контейнерам значение поля CTRL=IDLE. При этом для других членов значение поля CTRL не изменяется. В качестве примера на рисунке показана ситуация, когда оба контейнера SQ=4 и SQ=5 удаляются из VCG одновременно. Это происходит на третьем шаге команды. Такой алгоритм очень экономичен, поскольку как только приемник Sk принимает значение CTRL=IDLE, система рассматривает освобожденные контейнеры как свободные и может использовать их в новом виртуальном коридоре. Однако Sk на полученное сигнальное сообщение REMOVE может отвечать не одновременно, допускается и последовательное подтверждение, и одновременное.
Рассмотренный алгоритм очень простой, он включает запрос на уменьшение полосы и подтверждение об исключении указанных членов из VCG. При удалении контейнеров из последовательности VCG возникает вопрос о пересчете номеров контейнеров в последовательности (поля SQ). Для этого существует два правила:
- Все удаленные члены последовательности получают значение SQ заведомо большее, чем значение SQ последнего члена последовательности, который посылает сигнал EOS.
- Все остальные члены последовательности, находящиеся после удаленных членов (контейнеры U), получают последовательные номера.
Лучше всего работа алгоритма пересчета поля SQ представлена на следующем примере, соответствующим рис. 5.42.
VC | A | B | C | D | E | F | G | |
Перед | SQ | |||||||
U | U | |||||||
После | SQ |
Уменьшение размера VCG (команда REMOVE) в случае удаления последнего контейнера VCG.
Процесс удаления последнего контейнера в последовательности имеет ряд особенностей. Рассмотрим соответствующий ему алгоритм сигнального обмена (рис. 5.43) и состав сигнальных сообщений (табл. 5.13).
|
NMS LCAS Sk Sk
Команда
REMOVE
| ||||
| CTRL=IDLE | |||
CTRL=EOS | ||||
|
MST=FAIL
RS-Ack инверсия
mem – член VCG
Рис. 5.43. Обмен сигналами в процессе REMOVE для случая одного последнего контейнера.
Как показано на рисунке и в таблице, алгоритм удаления из VCG последнего контейнера в целом аналогичен рассмотренному выше. Единственная его особенность заключается в том, что в этом случае SQ контейнеров группы не пересчитывается, а предпоследний контейнер должен изменить свое значение с NORM на EOS.
Таблица 5.13. Состав сигнального обмена LCAS в случае команды REMOVE для последнего контейнера.
Шаг | Член n-1 | Член n | |||||
CTRL | SQ | MST | CTRL | SQ | MST | ||
Начальное состояние | NORM | n-2 | OK | EOS | n-1 | OK | |
Центр управления (NMS) посылает команду REMOVE в систему | NORM | n-2 | OK | EOS | n-1 | OK | |
So (unwanted) передаетCTRL=IDLE, SQ=n-1, So (n-2) предает CTRL=EOS | EOS | n-2 | OK | IDLE | n-1 | OK | |
4 | Sk (unwanted) передает MST=FAIL and RS-Ack bit inverted to So | EOS | n-2 | OK | IDLE | n-1 | FAIL |
В обоих рассмотренных выше случаях уменьшение размера виртуального коридора было штатным, оно было связано с командами REMOVE из центра управления первичной сетью. Но LCAS выполняет не только функции динамического изменения размеров виртуальных коридоров, но также и уменьшение объема используемого ресурса в случае возникновения сбоев в VCG.
Рассмотрим несколько алгоритмов уменьшения размера виртуального коридора при возникновении неисправности в системе.
Уменьшение размера VCG (команда DNU) в случае возникновения сбоя в системе передачи VCAT в последнем контейнере.
Самый простой алгоритм уменьшения VCG при возникновении неисправности связан с неисправностью в последнем контейнере последовательности VCG. Это довольно ожидаемое явление, которое, например, может возникать в случае неудачно завершенного процесса присоединения нового контейнера к VCG. Дело в том, что в случае добавления нового контейнера (команда ADD), этот контейнер окажется в конце последовательности SQ. Следовательно, при сбое в процессе ADD неисправность будет скорее всего именно в последнем контейнере.
Соответствующий 4-шаговый алгоритм представлен на рис. 5.44 и сопровождается описанием шагов в табл. 5.14.
|
NMS LCAS Sk Sk
MST=FAIL
| ||||
| ||||
Характер | CTRL=EOS | CTRL=DNU | ||
неиспраности |
Рис. 5.44. Обмен сигналами в процессе DNU для случая одного последнего контейнера.
Таблица 5.14. Состав сигнального обмена LCAS в случае команды DNU и последнего контейнера.
Шаг | член n-1 | член n (EOS) | |||||
CTRL | SQ | MST | CTRL | SQ | MST | ||
Начальное состояние | NORM | n-2 | OK | EOS | n-1 | OK | |
Sk (неисправный контейнер) передает MST=FAIL в сторону источника So | NORM | n-2 | OK | EOS | n-1 | FAIL | |
So (неисправный член) передает DNU; So (неисправный член – 1) передает EOS | EOS | n-2 | OK | DNU | n-1 | FAIL | |
LCAS передает информацию о характере неисправности NMS | EOS | n-2 | OK | DNU | n-1 | FAIL |
Напомним, что возникновение неисправности в VCG соответствует передаче сигнала MST=FAIL, например, для SQ=n-1. Этот сигнал передается по линии обратной связи, от приемника к источнику VCG. Получив его, источник So
присваивает значение CTRL=DNU контейнеру SQ=n-1 и CTRL=EOS контейнеру SQ=n-2. Затем LCAS информирует NMS о характере неисправности, используя встроенные средства диагностики и нестандартные сигналы.
Уменьшение размера VCG (команда DNU) в случае возникновения сбоя в системе передачи VCAT в не последнем контейнере.
Более сложным является случай, когда неисправность возникает в произвольном контейнере последовательности SQ. Важным вопросом в этом случае является гарантия связности данных в виртуальном коридоре при уменьшении его размера потому, что при неисправности система NGSDH также как и система SDH должна стремиться к сохранению данных. Как добиться того, чтобы в процессе освобождения ресурса сети из-за сбоя в одном из членов VCG не произошло потери информации? Поскольку в этом процессе SQ должны быть переименованы, может возникнуть нарушение связности виртуального коридора, когда контейнеры займут неподходящие им места.
Чтобы не допустить этого, был разработан алгоритм уменьшения коридора без изменения последовательности SQ на первом этапе. Этот алгоритм представлен на рис. 5.45 и прокомментирован в табл. 5.15.
|
NMS LCAS Sk Sk Sk Sk
| MST=FAIL |
| ||||||
Характер | CTRL=DNU | |||||||
неисправности |
| |||||||
| MST=OK | |||||||
| CTRL=NORM |
Рис. 4.45. Обмен сигналами в процессе DNU для случая одного не последнего контейнера.
В качестве примера рассмотрим VCG из 5 контейнеров CTRL(5)=EOS. Предположим, что в 4 контейнере возникает сбой, что выражается в передаче Sk(4) сигнала MST=FAIL. В ответ источник So передает CTRL=DNU, выводя поток из VCG. Но при этом номера SQ не пересчитываются (см. табл. 5.15).
Таблица 5.15. Состав сигнального обмена LCAS в случае команды DNU и не последнего контейнера.
Шаг | член 2 | член 3 | член 4 | член 5 (EOS) | ||||||||
CTRL | SQ | MST | CTRL | SQ | MST | CTRL | SQ | MST | CTRL | SQ | MST | |
1. Начальное состояние | NORM | OK | NORM | OK | NORM | OK | EOS | OK | ||||
2. Sk(3) передаетMST=FAIL в направлении So | NORM | OK | NORM | OK | NORM | FAIL | EOS | OK | ||||
3. So(3) передает CTRL=DNU | NORM | OK | NORM | OK | DNU | FAIL | EOS | OK | ||||
4. See text below table | NORM | OK | NORM | OK | DNU | FAIL | EOS | OK | ||||
5. See text below table | NORM | OK | NORM | OK | DNU | FAIL | EOS | OK | ||||
6. Неисправность устранена, передача MST=OK в направлении So | NORM | OK | NORM | OK | DNU | OK | EOS | OK | ||||
7. CTRL меняется с DNU на NORM | NORM | OK | NORM | OK | NORM | OK | EOS | OK |
Как только в системе обнаруживается сбой, приемник начинает реконфигурацию виртуального коридора. Однако существует сравнительно большой промежуток времени (время передачи от Sk к So + время реакции на неисправность + время передачи от So к Sk), в течение которого передаваемые данные будут содержать ошибки. Чтобы избежать этого, источник прекращает передачу данных в контейнерах, имеющих ошибки. Он использует в этот период только контейнеры CTRL=NORM/EOS. Это лишь отчасти спасает проблему, т. к. на стороне приемника нет точных данных по интеграции полезной нагрузки виртуального контейнера. Однако это может быть сделано дополнительно специальным ПО канального уровня.
Если неисправность в контейнере устранена, значение поля CTRL меняется с DNU на NORM, и тогда приемник снова включает временно потерянного члена последовательности в общий процесс передачи/приема данных (шаги 6-7).
Важно отметить, что в рассмотренном процессе не происходит пересчета полей SQ (табл. 5.15), что значительно упрощает контроль над связностью данных и уменьшает их потери. Кроме того, поскольку уменьшение и восстановление размера коридора в случае неисправности не требует пересчета SQ, для пользователя виртуального коридора эта процедура будет плавной, т. е. в процессе сбоя не будет скачкообразных изменений пропускной способности или временного перебоя в канале. Это очень важно для работы любых приложений, использующих пакетный трафик.
Дата добавления: 2015-04-15; просмотров: 1209;