УДК 681.325
А.В. Гаврилов, М.А. Щербинин
Пермский национальный исследовательский политехнический университет
МОДЕЛИРОВАНИЕ ПРОТОКОЛА LONTALK НА УРОВНЕ ДОСТУПА К СРЕДЕ
Рассматриваются вопросы моделирования алгоритмов доступа к среде в сетях АСУТП. Разработана модель алгоритма predictive p-persistent CSMA, выполнено имитационное моделирование.
Современные автоматизированные системы управления технологическим процессом (АСУТП) являются сложными распределенными системами, выполняющими обработку и передачу больших объемов различной информации. Наиболее распространенной технологией объединения устройств АСУТП в сеть является общая шина. Различают два основных метода доступа к шине - детерминированный и случайный. При детерминированном методе узлы получают доступ к среде в предопределенном порядке, таким образом возникновение коллизии исключается. Для случайного доступа наибольшее применение получили два алгоритма: CSMA/CA (CSMA with Collision Avoidance) - множественный доступ с контролем несущей и предотвращением коллизий и CSMA/CD (CSMA with Collision Detection) - множественный доступ с контролем несущей и обнаружением коллизий [1]. Технология LonWorks, ставшая в последнее время достаточно популярной при реализации АСУТП, работает на основе протокола LonTalk, который использует алгоритм predictive p-persistent CSMA [2].
Однако, как определить, чем один метод лучше другого, и каковы их реальные характеристики. Для этого используются системы имитационного моделирования, преимущество которых в возможности быстро оценить проектные решения и устранить возможные риски, не производя закупок дорогостоящего оборудования.
Объектом исследования данной работы является протокол LonTalk, использующийся в сетях LonWorks.
Цель работы - разработка модели алгоритма доступа к среде predictive p-persistent CSMA.
В процессе работы проводились исследования различных алгоритмов доступа к среде, изучались методы имитационного моделирования и построения моделей в среде Opnet Modeler.
В результате была разработана и построена модель алгоритма доступа к среде predictive p-persistent CSMA. Промоделирована ее работа и получены результаты в виде графика зависимости использования среды пропускания от времени.
Сеть LonWorks, протокол LonTalk. LonWorks является Fieldbus-системой, которая применяется в области промышленной автоматизации и автоматизации зданий. Особенностями системы являются гибкая топология, поддержка различных сред передачи, многообразие конечных узлов, фирменное программное обеспечение.
В сетях LonWorks используется протокол LonTalk, обеспечивающий работу на всех семи уровнях модели OSI (что отличает его от ПО других Fieldbus-систем). Главное преимущество протокола LonTalk - независимость от среды передачи.
Протокол LonTalk делит второй уровень модели OSI на подуровень доступа к среде (MAC) и уровень связи (Link Layer). На уровне MAC выполняются обслуживание приоритетов и обнаружение коллизий с помощью алгоритма predictive p-persistent CSMA. На уровне связи (Link Layer) выполняются формирование пакетов, контроль с помощью циклического избыточного кода (CRC). Далее будет рассмотрен алгоритм predictive p-persistent CSMA [2].
Predictive p-persistent CSMA. Основное отличие алгоритма от других CSMA - возможность оценивать ожидаемую нагрузку на канал и в зависимости от этого регулировать вероятность доступа к каналу, уменьшая:
- задержки при низкой загрузке канала,
- количество коллизий при высокой загрузке канала.
Принцип действия:
1. Готовый к передаче узел анализирует состояние канала.
2. Если узел «видит», что в течение времени ß1 никто ничего не передает, он считает, что канал свободен (рис.1).
3. Узел генерирует случайную величину задержки ДГ перед передачей. Если по истечении ДГ канал по-прежнему свободен, узел начинает передачу. В противном случае он настраивается на прием.
4. Процесс повторяется.
Pi
Packet J
Pi
Рис. 1. Формат кадра с алгоритмом доступа к среде predictive p-persistent CSMA
Параметры алгоритма:
1. AT выбирается из временного окна от 0 до W.
2. W меняется относительно текущего и предполагаемого трафика в канале.
3. Для оценки величины трафика служит параметр Backlog, информация о котором передается в заголовке кадра от узла к узлу. Если в канале нет трафика или он очень низкий, BL равен 1. При увеличении кадров, которые необходимо передать, увеличивается BL (от 1 до 63) и, соответственно, W.
W=BL* W_base; W_base=16* р2;
где р2 - это время, которое требуется узлу, чтобы определить, что другой узел уже передает информацию [2, 3].
Разработка модели. В соответствии с принципами действия алгоритма доступа к среде predictive p-persistent CSMA нами была спроектирована следующая модель.
Система имитационного моделирования Opnet Modeler позволяет создавать модели различных сетей и протоколов на трех уровнях моделирования. Начальным является уровень процессов, на котором описываются принципы действия элементов отдельного узла (модулей) при помощи графа переходов и языка программирования Proto C
(модернизированный C++, использующий специально описанные функции Opnet Modeler) [3].
Граф переходов MAC-модуля представлен на рис. 2.
Рис. 2. Граф переходов модуля MAC
Граф содержит состояния и переходы, которые определяют, какие действия выполняет модуль в зависимости от различных событий, происходящих во время симуляции процесса.
Наша модель содержит следующие состояния. В самом начале модуль находится в состоянии «INIT». В этом состоянии он объявляет MAC-адрес узла, которому принадлежит, и собирает начальные статистические данные (задержки, пропускную способность канала и так далее), затем переходит в состояние «START», где устанавливает служебные параметры, которые будут использованы в дальнейшем.
Состояние «TX_WAIT». Модуль ждет прибытия кадра данных с верхнего уровня для инкапсуляции. Если происходит любое другое событие, он вновь оказывается в этом же состоянии через переход «default».
Следующее состояние «FRM_START». Инициализируются необходимые переменные. Кадр готовится к отправке.
«DEF_WAIT». Модуль ожидает флаг данных от другого модуля (deference), который сообщает, свободна ли среда. Если среда свободна, модуль переходит в состояние «BACKOFF», если нет - остается в «DEF WAIT».
«BACKOFF». Идет подсчет интервала задержки. По окончании этих операций, если время задержки закончилось и среда по-прежнему свободна (BACKOFF_END && DEFERENCE_OFF), модуль переходит в состояние «TX_START». Если задержка закончилась, но канал занят, модуль снова переходит в состояние ожидания «DEF_WAIT».
«TX_START». Начало передачи. Создается копия передаваемого кадра, увеличивается переменная, описывающая количество попыток передачи, кадр передается в линию.
«TXEV_WAIT». Ожидание завершения передачи. Если коллизий не обнаружено, модуль переходит в состояние «FRM_END». Если обнаружена коллизия, модуль переходит в состояние «COLLISION».
«COLLISION». Генерируется jam signal, инкрементируется Backlog. По окончании передачи jam-сигнала модуль переходит в состояние «TX_ABORT».
«TX_ABORT». Отмена трансляции. Если превышено допустимое количество коллизий, модуль переходит в состояние «FRM_END», в противном случае - в «DEF_WAIT» для повторной передачи.
«FRM_END». Окончание передачи. Идет подсчет статистики. Если очередь на передачу свободна, модуль переходит в состояние «TX_WAIT», в противном случае - в «FRM_START».
Граф переходов модуля MAC, описывающий принцип действия predictive p-persistent CSMA, готов. Теперь необходимо спроектировать структуру узлов, которые будут принимать участие в обмене информацией.
Построение узла. Узлы сети состоят из отдельных элементов (модулей), каждый из которых выполняет свои определенные функции [4]. Состав узла модели показан на рис. 3.
Строение узла следующее:
а) bursty_gen - генератор трафи
ка верхнего уровня. Генерирует поток данных и отправляет их на интерфейс MAC-уровня;
б) sink - приемник верхнего уровня. Принимает входящие кадры. Собирает статистику;
в) ethernet_mac_interface - интерфейс MAC-уровня. Преобразовывает данные, пришедшие с верхнего уровня для передачи в модуль MAC и наоборот;
г) mac - модуль MAC-уровня. Обрабатывает входящую и исходящую информацию, также обнаруживает коллизии и обеспечивает доступ к среде;
д) bus_tx и bus_rx - представляют собой интерфейс канала связи. Принимают и передают данные в канал связи;
е) defer - модуль, который слушает среду и передает на MAC-уровень флаг данных, сообщающий, свободна ли среда.
с-
bursty_gen
г
sink
С
eth mac
intf
Рис. 3. Модель узла
Модули соединены потоками данных. Прямая линия - данные, которые должны быть переданы по сети от узла к узлу. Штриховая линия - служебные данные, несущие информацию от модуля к модулю внутри узла.
Построение и конфигурирование модели сети. Модель сети, работу которой мы будем анализировать, состоит из восьми одинаковых узлов, подключенных к общей шине (рис. 4). Для будущего сравнения характеристик различных алгоритмов доступа к среде будем использовать единые параметры сети.
Получение результатов моделирования. Для нас наиболее интересным параметром будет bus utilization - процент использования доступной пропускной способности канала передачи данных. Запустим симуляцию в течение одного часа и оценим результаты.
Рис. 4. Модель сети
Рис. 5. Результаты моделирования
На рис. 5 представлены результаты моделирования двух протоколов доступа к среде: CSMA/CD и predictive p-peristent CSMA. Мы видим, что использование полосы пропускания увеличилось на 10 % в случае predictive p-peristent CSMA.
Заключение
Данная работа посвящена изучению некоторых аспектов Lon-технологии, связанных с алгоритмами доступа к среде, а также методам моделирования сетей при помощи специального программного обеспечения.
В результате проделанной работы нами была спроектирована модель алгоритма доступа к среде predictive p-persistent CSMA, использующаяся в сетях LonWorks.
При помощи среды имитационного моделирования Opnet Modeler нам удалось в режиме реального времени изучить работу данного алгоритма.
В результате моделирования мы получили график зависимости использования пропускной способности канала от времени.
Данный график демонстрирует преимущество predictive p-persistent CSMA перед CSMA/CD при прочих равных условиях.
Как было сказано ранее, predictive p-persistent CSMA позволяет уменьшать вероятность доступа к среде нескольких узлов в один и тот же момент времени, таким образом, уменьшая количество коллизий, что должно способствовать более эффективному использованию доступной полосы пропускания. Данное предположение подтверждают результаты проделанной работы. На графике видно, что использование полосы пропускания алгоритмом predictive p-persistent CSMA на 10 % больше, чем CSMA/CD.
Таким образом, результаты моделирования считаем удовлетворительными. Однако имеет место дальнейшее исследование в данной области. Можно продолжить моделирование на более высоких уровнях, проектируя не только алгоритмы и протоколы, но и отдельные узлы, а также совокупность правил и средств передачи информации в конкретной сети, что позволит сначала изучить любую сетевую ситуацию и оценить последствия, а только потом начинать закупку оборудования и монтажные работы.
Библиографический список
1. Кругляк К. Промышленные сети: цели и средства // Современные технологии автоматизации. - 2002. - № 4. - C. 6-17.
2. Дитрих Д., Лой Д., Швайнцер Г.Ю. LON-технология. Построение распределенных приложений: пер. с нем. - Пермь: Изд-во Перм. гос. техн. ун-та, 1999. - 395 с.
3. Wang M., Lin E., Woertz E., Kam M. Collision Resolution Simulation for Distributed Control Architectures using LonWorks, Data Fusion Lab, Department of Electrical and Computer Engineeringю. - Drexel University, Philadelphia, 2005.
4. Hanzâlek, Z., Capek, J. Channel Backlog Estimation in LonWorks. In: Mahalik, N.P.(Ed.): Fieldbus Technology - Industrial Network Standards for Real-Time Distributed Control. - Springer, 2003.
Получено 05.09.2011