УДК 519.1+681.3
К.А. Кулаков (6 курс), А.Ю. Сало (5 курс), А.В. Ананьин (4 курс), М.Ю. Крышень (4 курс), В.A. Суриков (4 курс), Д.Ж. Корзун (инструктор проекта, к.ф.-м.н.), др. Ю. Тайна,
Ю.А. Богоявленский, к.т.н., зав.каф., руководители проекта
Кафедра информатики Хельсинского университета
Кафедра информатики и математического обеспечения, ПетрГУ

Система идентификации событий работы протоколов при обмене данными между двумя сетевыми ЭВМ — DaCoPAn Analyzer

Протоколы передачи данных являются основой при изучении сетевых технологий, а их характеристики — объектом активных научных исследований. Для визуализации событий при работе протоколов традиционно используются статические диаграммы. В то же время, как задачи преподавания, так и исследования протоколов требуют динамической визуализации событий с использованием реальных данных сетевого трафика.
Целью проекта DaCoPAn (visualization of Data Communication Protocols through Animation) является разработка программного инструмента для визуализации событий протоколов в процессе реального обмена данными между двумя сетевыми ЭВМ на основе информации из двух регистрационных файлов утилиты tcpdump [1]. Это распределенный, трансграничный студенческий проект, реализованный совместно кафедрами информатики Петрозаводского государственного университета (ПетрГУ) и Хельсинского университета (ХелУ) [2]. Команда студентов ПетрГУ разрабатывала систему DaCoPAn Analyzer, команда студентов ХелУ — DaCoPAn Animator [3]. 
Система DaCoPAn Analyzer предназначена для идентификации событий работы протоколов при обмене данными между сетевыми ЭВМ. В настоящее время реализован вариант для двух ЭВМ. Получаемая последовательность событий является входной для системы DaCoPAn Animator, которая выполняет динамическую визуализацию.
Исходные данные для системы Analyzer получаются с помощью утилиты tcpdump для каждой из двух сетевых ЭВМ. В двух файлах выполняется поиск соответствий между перехваченными пакетами. Если соответствие не найдено, то пакет считается потерянным при передаче. После построения соответствий пакетов выполняется дефрагментация базовых единиц данных для протоколов более высоких уровней и расчет параметров событий. Результат записывается в хронологическом порядке в разработанном нами на основе XML формате PEF (Protocol Events Format). В данной версии поддерживаются пакеты протоколов ARP, IP, UDP, TCP, FTP, DNS, HTTP.
Важной особенностью DaCoPAn Analyzer является работа с реальными данными. Это потребовало строгой поддержки стандартов RFC для протоколов. Выполняется проверка корректности исходных данных на непротиворечивость и полноту. Архитектура системы спроектирована с учетом дальнейшего обобщения на случай более двух сетевых ЭВМ.
Проект начат 19.01.2004, завершен 31.05.2004. Официальный язык — английский. Использовалась линейная модель с возвратами для процесса разработки. Все этапы за исключением первичного анализа требований и интеграционного тестирования выполнялись в распределенном варианте. Реализован полноценный набор проектной и пользовательской документации. Использовался язык ANSI C, исходный код представлен в 27 файлах, содержит 111 функций, 6333 LOC, в т.ч. 1632 строки комментариев. Активно применялись методы автоматизированного тестирования на основе сценариев использования, предоставленных заказчиком. В ходе тестирования было разработано и выполнено более 80 комплексных тестов.
1.	DaCoPAn Project. http://www.cs.helsinki.fi/group/dacopan/, http://dacopan.cs.karelia.ru/
2.	Богоявленский Ю. А., Корзун Д. Ж., Веркамо И., Тайна Ю., Туохиниеми Т. Распределенный трансграничный студенческий программный проект DaCoPAn, в настоящем сборнике.
3.	Браун Дж. и др. Система динамической визуализации событий работы протоколов при обмене данными между двумя сетевыми ЭВМ — DaCoPAn Animator, в настоящем сборнике.