Имитационная модель обмена в системе компьютерного управления с реализацией скользящего окна при резервировании магистралей
Автор: Осипов Андрей Владимирович, Богатырев Владимир Анатольевич
Журнал: Технико-технологические проблемы сервиса @ttps
Рубрика: Методические основы совершенствования проектирования и производства технических систем
Статья в выпуске: 1 (23), 2013 года.
Бесплатный доступ
Предложена имитационная модель сети с резервированием каналов, позволяющая оценить эффективность вариантов распределения кадров по параллельным физическим каналам и вариантов размера скользящего окна. Модель учитывает физические характеристики каждого канала и может быть использована при моделировании сети с произвольным числом параллельных каналов, что позволяет использовать ее при проектировании отказоустойчивых вычислительных сетей компьютерного управления машинами и агрегатами.
Резервированные каналы, имитационная модель, надежность, машины и агрегаты, компьютерное управление, скользящее окно
Короткий адрес: https://sciup.org/148186058
IDR: 148186058
Текст научной статьи Имитационная модель обмена в системе компьютерного управления с реализацией скользящего окна при резервировании магистралей
Высокая надежность, отказоустойчивость, производительность и достоверности функционирования систем компьютерного управления машинами и агрегатами [1], дости- гается при резервировании вычислительных и коммуникационных средств, в том числе магистралей [2-5]. Эффективность компьютерной системы управления с резервированием магистралей во многом определяется протоколами обмена, существенно влияющих на надежность и производительность системы управления в целом, что и обусловливает актуальность исследований алгоритмов взаимосвязи через резервированные каналы. В настоящее время при информационном обмене эффективно используются протоколы, реализующие автоматический запрос повторной передачи при организа- ции скользящего окна, однако их адаптация к резервированному каналу требует дополнительных исследований, в том числе, построения моделей, позволяющих выбрать наиболее рациональные варианты их построения.
Протоколы передачи данных по резервированным каналам со скользящим окном
В современных сетях, в том числе, в сетях компьютерного управления машинами и агрегатами, широко используются протоколы передачи данных на основе Алгоритм ARQ (Automatic Repeat reQuest - автоматический запрос повторной передачи) со скользящим окном (алгоритм ARQ ʜa n шагов назад), который является одной из наиболее распространенных реализаций алгоритма ARQ. В отличие от алго- ритма ARQ с остановкой и ожиданием при использовании данного алгоритма очередной кадр может быть отправлен, не дожидаясь подтверждения получения предыдущего кадра. Число кадров, которые могут быть отправлены без подтверждения, является параметром, определяющим размер скользящего окна.
Размер скользящего окна влияет на максимально достижимую эффективность использования пропускной способности сети. При размере окна, равном единице, эта разновидность алгоритма становится тождественной алгоритму ARQ с остановкой и ожиданием, при котором простои в сети весьма значительны. При слишком большом размере скользящего окна растет доля повторных пересылок в общем объеме информации, так как при обнаружении ошибки осуществляется повторная пересылка всех кадров, начиная с последнего подтвержденного кадра.
Адаптация алгоритма скользящего окна для использования в сети с резервированием каналов является нетривиальной задачей, так как в обычном случае нумерация кадров происходит на канальном уровне одного физического канала. В сети с резервированием каналов нумерация кадров, посылаемых по всем агрегированным каналам должна быть единой, поэтому нумерацию необходимо производить на подуровне агрегирования. При агрегировании разнородных физических каналов (например, проводных и беспроводных) следует учитывать различия в форматах кадров физических каналов и другие особенности каналов. Например, максимальный размер кадра Ethernet составляет
1516 байт, а максимальный размер кадра в сети стандарта IEEE 802.11g равен 2346 байт. Соответственно, поле кадра, выделяемое для порядкового номера, будет занимать разную долю по отношению к полезным данным кадра, что влияет на оптимальное распределение кадров данных по физическим каналам, зависящее также от уровня помех, от надежности и пропускной способности каналов.
Имитационная модель передачи данных по резервированным каналам со скользящим окном
Имитационное моделирование передачи данных по резервированным каналам проведем с использованием средств Simulink среды Matlab .
Для исследования алгоритма ARQ ʜa n шагов назад построена имитационная модель, представленная на рис. 1. В рамках данной модели кадры создаются, передаются по каналу и подвергаются воздействию ошибок с вероятностью, определяемой характеристиками канала передачи. Для каждого полученного кадра приемник отправляет подтверждение об успешной передаче (ACK) или об ошибке (NAK) по обратному каналу на передатчик. Решение о наличии ошибки в полученном кадре принимается на основании проверки циклического избыточного кода. При получении сообщения NAK передатчик осуществляет повторную передачу всех кадров их текущего скользящего окна, по которым не было получено подтверждение об успешной передаче (ACK).

Рисунок 1. Имитационная модель сети из двух узлов
Подсистема создания кадров генерирует поток кадров с экспоненциальным распределением времени между кадрами. Каждому кадру присваивается уникальный порядковый номер
(рис. 2). Функциональная схема подсистемы передатчика представлена на рис. 3.

Рисунок 2. Подсистема создания кадров

Рисунок 3. Подсистема передатчика
Передатчик осуществляет передачу кадров, включая повторную передачу на основании сообщений ACK и NAK от приемника.
Процесс передачи включает несколько состояний передатчика:
-
• Transmitting - отправка данных кадра по прямому каналу;
-
• Retransmitting - повторная отправка данных кадра по прямому каналу;
-
• WaitingToRetransmit - ожидание доступа к каналу для повторной отправки данных кадра по прямому каналу;
-
• Idle - отсутствие отправок из-за пустой очереди кадров для передачи или из-за достижения максимального числа отправленных и неподтвержденных кадров.
Прямой и обратный каналы
В прямом и обратном каналах реализована задержка передачи данных. В рамках данной модели величина задержки передачи в канале превосходит время отправки кадра передатчиком (то есть передатчик оканчивает пере дачу кадра до того, как приемник начинает получать его). В процессе передачи кадры могут быть повреждены, но не могут быть полностью потеряны.
В случае возникновения ошибок в обратном канале сообщение приемника (ACK или NAK) может быть повреждено. В таком случае в результате обнаружения ошибки с помощью циклического избыточного кода передатчик не зарегистрирует сообщение от приемника (сообщение с ошибкой не повлияет на состояние передатчика), что равносильно отсутствию самого подтверждения (ACK или NAK). Поэтому в рамках данной модели предполагается, что в обратном канале ошибки не возникают.
Воздействие ошибок
Подсистема воздействия ошибок в прямом канале осуществляет повреждение кадров с заданной вероятностью (рис. 4). Модель предполагает, что приемник может определить наличие ошибки с помощью циклического избыточного кода, но не может их исправить .

Рисунок 4. Подсистема воздействия ошибок
Алгоритм выборочной передачи. Приемник принимает или отвергает кадры от передатчика на основании проверки циклического избыточного кода и посылает по обратному каналу сообщения ACK и NAK. В случае обнаружения ошибки в кадре приемник не принимает все последующие кадры до тех пор пока, не получит повторно кадр, содержавший ошибку.
На практике часто алгоритм ARQ скользящего окна используется не в чистом виде, а в модификации выборочной передачи. В сети, функционирующей по такому алгоритму, при возникновении ошибки (получения NAK) происходит выборочная повторная передача кад- ров, а не сплошная повторная передача всех кадров из текущего скользящего окна. Это позволяет сократить объем повторно пересылаемых данных и повысить эффективность использования пропускной способности. В сетях с алгоритмом выборочных повторных передач также актуальна проблема определения оптимального размера скользящего окна, так как слишком большая величина окна ведет к увеличению задержек повторной передачи кадров, что приводит к росту дисперсии средн его времени успешной доставки кадров. Для оценки характеристик сети, функционирующей по алгоритму ARQ с выборочными повторными передачами, построены подсистемы передатчика и приемника. Подсистема передатчика представлена на рис. 5. Подсистема приемника идентична соответствующей подсистеме предыдущей модели с тем лишь отличием, что в случае обнаружения ошибки в кадре приемник продолжает принимать все последующие кадры (соответственно, на эти кадры приемник отправляет подтверждение ACK, а передатчик убирает эти кадры из «скользящего окна»).

Рисунок 5. Подсистема передатчика с алгоритмом выборочной передачи
Результаты моделирования
Модель позволяет визуализировать и оценить:
-
• Порядковый номер и момент времени отправления каждого кадра.
-
• Порядковый номер и момент времени получения кадра приемником.
-
• Порядковый номер и момент времени регистрации ошибки в кадре приемником.
-
• Количество переданных и неподтвержденных кадров, находящихся в «скользящем окне».
Для оценки влияния размера «скользящего окна» на величину полезной пропускной способности сети исследуем модель заведомо перегруженной сети.
На рис. 6 приведен результат моделирования поведения системы, в которой передатчик не ограничивается кадрами из скользящего окна, а передает все имеющиеся кадры без задержек. Например, кадр №31 передан не дожидаясь подтверждения успешной доставки ACK кадра №14. За время

Рисунок 6. Результат моделирования без ограничений скользящего окна
На рис. 7 показан результат моделирования поведения системы с размером «скользящего окна», равным 7 кадрам. В этой системе передатчик ожидает поступления подтверждения успешной доставки ACK кадра №14 перед отправкой кадра №21, что вызывает простой передатчика. За время работы сети, равное 10 мс, передатчик отправляет 32 кадра.

Рисунок 7. Результат моделирования сети при размере скользящего окна, равном 7 кадрам
Результаты моделирования показывают, что уменьшение размера скользящего окна ведет к ухудшению показателей средней про- пускной способности сети. С другой стороны, увеличение размера скользящего окна приводит к увеличению периода времени перед повторной отправкой кадра, что ведет к пропорциональному увеличению среднего времени доставки кадров, доставленных не с первой попытки.
Для рассматриваемой сети (функционирующей без перегрузки) оптимальным является размер скользящего окна, равный 7 кадрам. При таком размере зависимость заполнения «скользящего окна» от времени имеет вид, представленный на рис. 8.

0 ID 20 30 40 50
Рисунок 8. Заполнение скользящего окна в процессе работы сети
Для имитационного моделирования процесса передачи данных по нескольким каналам сети построена отдельная подсистема передатчика, представленная на рис. 9. Скользящее окно является общим для всех физических каналов, что позволяет оптимизировать распределение кадров по каналам, в том числе производить повторную передачу кадра по каналу, отличному от канала первоначальной передачи. В случае импульсных помех в физическом канале такой алгоритм может привести к значительному сокращению повторных передач по сравнению с алгоритмом, в котором повторные передачи выполняются всегда по тому же каналу.
На рис 10 промоделирован случай, когда кадры оптимально распределяются по каналам.
Модель подсистемы физического канала представлена на рис. 11. В работе подсистемы при расчете времени обслуживания требования учитываются:

ACK and retransmission control
Рисунок 9. Подсистема передатчика сети с параллельными каналами

Рисунок10. Распределение кадров по каналам
-
• Битовая скорость;
-
• Время доступа к среде передачи;
-
• Размер заголовка кадра и контрольной суммы, размер преамбулы и стоповых битов.
Рисунок 11. Подсистема физического канала
Указанные характеристики загружаются в Simulink из среды Matlab с помощью функции, представленной в листинге 1.
Листинг 1. Программный код блока Attribute Function function [out_br, out_mactime, out_header] = fcn(chNum)
coder.extrinsic('evalin');
coder.extrinsic('strcat');
coder.extrinsic('int2str');
x=0;
name=strcat('channels(',int2str(chNum ),',1)');
x=evalin('base',name);
out_br = x;
name=strcat('channels(',int2str(chNum ),',2)');
x=evalin('base',name);
out_mactime = x;
name=strcat('channels(',int2str(chNum x=evalin('base',name); out_header = x;
При моделировании приняты характеристики физических каналов в соответствии с таблицей 1.
Результат работы сети с резервированием каналов в течение 10 мс, представленные на рис. 12, показывают, что:
-
• в случае ошибки кадр может быть передан по другому каналу (кадры №0, №40 и др);
-
• согласно алгоритму скользящего окна система, осуществляет передачу кадров 20-24, не дожидаясь подтверждения о получении кадра 19, причем кадры отправлены по разным физическим каналам (Кадры №19-24);
-
• повторная отправка осуществля
ется максимум через 2,5 мс (Кадр №23).
),',3)');
Таблица 1. Характеристики физических каналов, принятые при моделировании
№ канала |
Скорость |
Bремя доступа |
Размер заголовка кадра и контрольной суммы, размер преамбулы и стоповых битов |
Поле данных (в т.ч. порядковый номeр) |
1й канал – Ethernet 100 мбит |
108 бит/с |
5*10-6 с |
188 бит |
1,2*104 бит |
2й канал – Ethernet 1000 мбит |
109 бит/с |
5*10-6 с |
188 бит |
1,2*104 бит |
3й канал – WiFi 433 Mbit/s |
4,33*108 бит/с |
10 -5 с |
288 бит |
1,8432*104 бит |

Х1йканал +2йканал I Зй канал «отвергнуто ♦ принято
Рисунок 12. Результат моделирования сети с резервированием каналов
Таким образом, проведено исследование вариантов организации протоколов обмена через резервированный канал системы компьютерного управления
Построена имитационная Simulink-модель, которая позволяет оценить эффективность вариантов исследуемых протоколов с учетом варьирования распределения кадров по параллельным неоднородным каналам и размера скользящего окна.
Модель учитывает физические характеристики каждого канала и может быть использована при моделировании сети с произвольным числом параллельных каналов, что позволяет использовать ее при проектировании отказоустойчивых вычислительных сетей компьютерного управления машинами и агрегатами.