Научная статья на тему 'Построение протокола обмена данными для встроенных систем управления'

Построение протокола обмена данными для встроенных систем управления Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1801
228
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Воробьев Ярослав Юрьевич, Клебан Виталий Олегович

Научный руководитель к. ф.-м. н., доцент М.В. Сухорукова. В настоящее время встроенная поддержка IP и Internet приобретает все большую популярность, широко используется в так называемых «умных домах», роботах, электросчетчиках и другой аппаратуре. В работе рассмотрены особенности выбора протоколов передачи данных для различных целей, проведена классификация типов взаимодействия устройств. Приводится способ математического описания протокола передачи данных. Рассматриваются примеры использования встроенных систем управления через Интернет и приводятся результаты практического применения рассмотренной методологии построения протоколов. Использование IP-сетей как коммуникационной среды позволит строить масштабируемые, гетерогенные и надежные системы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Построение протокола обмена данными для встроенных систем управления»

ПОСТРОЕНИЕ ПРОТОКОЛА ОБМЕНА ДАННЫМИ ДЛЯ ВСТРОЕННЫХ СИСТЕМ УПРАВЛЕНИЯ Я.Ю. Воробьев, В.О. Клебан Научный руководитель - к.ф.-м.н., доцент М.В. Сухорукова

В настоящее время встроенная поддержка IP и Internet приобретает все большую популярность, широко используется в так называемых «умных домах», роботах, электросчетчиках и другой аппаратуре. В работе рассмотрены особенности выбора протоколов передачи данных для различных целей, проведена классификация типов взаимодействия устройств. Приводится способ математического описания протокола передачи данных. Рассматриваются примеры использования встроенных систем управления через Интернет и приводятся результаты практического применения рассмотренной методологии построения протоколов. Использование IP-сетей как коммуникационной среды позволит строить масштабируемые, гетерогенные и надежные системы.

Введение

Комплекс протоколов Internet охватывает целое семейство протоколов и прикладные программы. В его состав входят UDP, ARP, ICMP, FTP и другие. Но поскольку TCP и IP - наиболее известные протоколы данного комплекса, то часто, ссылаясь на данный набор протоколов, используют термин TCP/IP.

TCP/IP - это семейство протоколов. Часть из них обеспечивает выполнение «низкоуровневых» сетевых функций для множества приложений, таких как работа с аппаратными протоколами, поддержка механизма доставки пакета, обеспечение достоверности и надежности соединения и т.д. Другая часть протоколов предназначена для выполнения прикладных задач - передача файлов, отправка почты, просмотр страниц и т.д. Например, при отправке почты используется протокол работы с почтой. Он определяет систему команд, которые обозначают, кто будет отправителем, кто - получателем, в какой форме идет сообщение. Этот протокол, как и все прикладные, подразумевает наличие надежного соединения между компьютерами. Именно за это и отвечают «низкоуровневые» протоколы TCP/IP. Подобно тому, как почтовый протокол использует TCP, так и ТСР использует IP протокол, который обеспечивает доставку пакета по адресу (адресацию и маршрутизацию). Вообще же семейство протоколов TCP/IP имеет 4 ярко выраженных уровня:

• уровень приложения (прикладной);

• уровень, реализующий транспортные функции (транспортный);

• уровень, обеспечивающий доставку и маршрутизацию пакетов (сетевой);

• уровень сопряжения с физической средой (канальный).

Развитие Internet и повсеместное использование IP-сетей привело к тому, что поддержка сетевых архитектур появилась и во встроенных приложениях. Встроенный Интернет позволяет использовать устройства в самых различных областях:

• сбор данных с удаленных датчиков;

• построение систем обработки данных и управления;

• системы безопасности;

• бытовые устройства.

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

Основные протоколы

Как правило, для передачи последовательности данных используют протоколы TCP и UDP. Существует еще ряд протоколов транспортного уровня (например, SCTP), но большого распространения для решения этой задачи они не получили.

Каждый протокол имеет свои особенности и диапазон применения. Остановимся конкретно на каждом из них.

TCP (Transmission Control Protocol - протокол управления передачей) - один из основных сетевых протоколов Internet, предназначенный для управления передачей данных в сетях TCP/IP. Он выполняет функции протокола транспортного уровня упрощенной модели OSI. TCP - это транспортный механизм, предоставляющий поток данных с предварительной установкой соединения, за счет этого дающий уверенность в безошибочности получаемых данных. Он осуществляет повторный запрос данных в случае потери пакетов и устраняет дублирование при получении двух копий одного пакета. TCP гарантирует, что приложение получит данные точно в такой же последовательности, в какой они были отправлены, и без потерь.

UDP (User Datagram Protocol - протокол пользовательских датаграмм) - это сетевой протокол для передачи данных в сетях IP без установки соединения напрямую. Он является одним из самых простых протоколов транспортного уровня модели OSI. В отличие от TCP, UDP не гарантирует доставку пакета, поэтому аббревиатуру иногда расшифровывают как «Unreliable Datagram Protocol» (протокол ненадежных дата-грамм). Это позволяет ему гораздо быстрее и эффективнее доставлять данные для приложений, которым не требуется большая пропускная способность линий связи, либо требуется малое время доставки данных. В отличие от TCP, UDP используется для широковещательной и многоадресной рассылки.

Возможные проблемы при использовании одного из протоколов

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

С применением протокола UDP могут быть связаны следующие проблемы.

• Пакеты, передаваемые по протоколу UDP, могут теряться. В одних случаях это может быть связано со сбоями оборудования, в других - с тем, что «время жизни» пакета истекло, и он был уничтожен на одном из маршрутизаторов.

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

• При большой генерации пакетов UDP сеть может быть достаточно быстро перегружена, особенно в случае многоканальных систем.

Стоит отметить тот факт, что протокол TCP, в отличие от UDP, достаточно сложен, его создатели пытались максимально улучшить надежность и скорость передачи данных в сети, однако от ряда проблем избавиться так и не удалось.

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

• Отсутствует абсолютная защита от потери пакетов во многих реализациях TCP.

Типы взаимодействия устройств

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

Для передачи файлов или каких-либо данных, в которых необходимо контролировать корректность данных и их последовательность, имеет смысл использовать протокол TCP. Примером подобной реализации могут быть устройства со встроенным WEB сервером, ADSL модемы и др.

Тип данных Протокол Пояснение

Команды UDP Для быстрой отправки команды устройству оптимально будет воспользоваться протоколом UDP

Сложные команды, структуры данных TCP (XML RPC, SOAP) Если устройство реализует ряд сложных функций, более удобно будет использовать сочетание TCP и одного из протоколов высокого уровня для обмена структурированными сообщениями

Видео / Аудио UDP (mms, rtmp, rtp, rstp) Как уже говорилось, для данных этого типа оптимально пользоваться протоколом UDP

Файлы TCP (FTP) Если передаваемым файлам необходимо обеспечить дополнительные сервисы (докачка, переименование, перенос) -оптимально использовать протокол FTP

Простые файлы UDP (TFTP) Если необходимо передать файл без каких-либо ухищрений, можно воспользоваться более простой реализацией протокола передачи файлов TFTP

Таблица. Устройства со встроенным WEB сервером

Разработка протокола обмена данными

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

Формирование пакета протокола происходит по определенным правилам и может быть представлено в терминах теории множеств.

Определим пакет как множество объектов, представляющих собой поля этого пакета, и обозначим их буквой C. Первым объектом, входящим в состав C, будут передаваемые данные D,

C = C u D.

Мощность множества D в общем случае не ограничена, но на практике оказывается ограниченной возможностями протоколов нижнего уровня.

При реализации протоколов приходится иметь дело с необходимостью подтверждения приема пакета, для этого добавим к пакету новый объект N, сигнализирующий о необходимости отправки подтверждения, и объект T, обозначающий тип пакета (обычный, пакет-подтверждение): C = C u N

N = [ack, nack},\ N| = 2 .

T = [general, ack}, — = 2

Передача данных в IP-сетях может сопровождаться помехами, такими, как потеря пакета, получение пакетов в другом порядке. Для предотвращения этих ошибок введем в пакет уникальный идентификатор U:

C = CuU.

Для определения мощности множества воспользуемся следующим выражением:

|U| = log2(-T^),

transmit

где — - время жизни пакета, Ttmnsmtt - время передачи пакета.

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

Примеры встроенных систем

В качестве примера встроенной системы рассмотрим мобильный робот КВАРК, созданный авторами и представленный на фестивале «Мобильные роботы-2006» как экспериментальный полигон для отладки алгоритмов навигации.

Рис. 1. Мобильный робот КВАРК

Система управления роботом состоит из бортовых систем, ответственных за работу задач реального времени, и автоматизированного рабочего места (АРМ), служащего

для ручного управления роботом и наблюдения за состоянием сенсоров робота. В качестве канала связи между роботом и АРМ используется IP-сеть, выполненная по технологии WiFi.

Пропускная способность сети составляет около 10Мбит/с. По данному каналу связи передаются разнородные данные, такие, как видео, состояния датчиков, управляющие команды, команды синхронизации и проверки оборудования. Применены протоколы как потоковой передачи данных, так и типа запрос-ответ.

Разработана система, позволяющая пользователю управлять мобильным роботом по сети Intranet. Разработанная система не требует от клиента никакого специализированного ПО, кроме установленного Macromedia Flash Player. Система позволяет удаленно управлять платформой, наблюдая за ее действиями с помощью камеры (для передачи видео используется протокол RTMP).

Шведская фирма AXIS наладила серийный выпуск IP-камер видеонаблюдения. Камера имеет встроенный web-сервер, который служит для настройки и управления камерой, а также просмотра видео в формате MJPEG. Камера передает видеопоток, используя протокол RTSP. Использование IP-сети и стандартизированных протоколов передачи данных позволяет создавать универсальное программное обеспечение для управления камерами видеонаблюдения.

Рис. 2. IP-камера

Заключение

Быстрые темпы распространения Internet и встроенных систем приведут к необходимости поддержки встроенными системами архитектуры IP. В некоторых случаях, возможно, будет необходимо создавать специализированные протоколы как прикладного, так и транспортного уровня. На данный момент уже известны ряд существенных недостатков протокола TCP, что ставит задачу создания протокола, совместимого с TCP, но лишенного этих недостатков. Создание общей методики построения протоколов является первым шагом к реализации адаптивных протоколов и схем управления в сетевых приложениях.

Литература

1. http://ru.wikipedia.org

2. http://www.altera.com

3. http://www.axis.com

4. http://www.picoweb.net

i Надоели баннеры? Вы всегда можете отключить рекламу.