Разработка библиотеки для гарантированной передачи

advertisement
УДК 004(06) Компьютерные системы и технологии
А.В. АФАНАСЬЕВ
Научный руководитель – Г.Е. ОКОРОЧЕНКО, к.т.н., доцент
Московский инженерно-физический институт (государственный университет)
РАЗРАБОТКА БИБЛИОТЕКИ ДЛЯ ГАРАНТИРОВАННОЙ
ПЕРЕДАЧИ СООБЩЕНИЙ В IP-СЕТЯХ
Проведено исследование и выбран метод организации гарантированной
передачи сообщений в IP-сетях, обеспечивающий эффективную работу через
быстрые и медленные каналы связи. Создана и опробована библиотека,
реализующая выбранный метод.
При разработке современных сетевых комплексов возникает задача
создания надежных и удобных средств, облегчающих прикладному
программисту реализацию обмена сообщениями в IP-сетях, в том числе
по медленным каналам. Основные требования к таким средствам,
поставленные в данной работе, следующие:
 возможность передачи длинных сообщений (до нескольких
десятков мегабайт);
 гарантированность доставки сообщений;
 эффективная работа на быстрых и медленных каналах связи;
 возможность работы в средах операционных систем Windows и
Linux;
 простота
и
прозрачность
использования
прикладным
программистом.
Для решения такой задачи требуется провести исследование и выбрать
базовый протокол стека TCP\IP, поверх которого должно работать
создаваемое промежуточное программное обеспечение. Кроме того,
необходимо создать алгоритм гарантированной доставки сообщений,
разработать способы увеличения скорости их передачи (что особенно
важно для медленных каналов), а также определить форму реализации
средства для удобства его разработки, модификации и применения.
При выборе базового протокола рассмотрены протоколы [1]:
 IP;
 UDP;
 TCP.
Использовать протокол IP оказалось нецелесообразно ввиду его
сложной и разной реализации в рассматриваемых операционных
УДК 004(06) Компьютерные системы и технологии
системах, а также из-за необходимости работы программ в
привилегированном режиме.
Протокол UDP, по сравнению с TCP, не требует времени на установку
соединения и квитирование, позволяет получить больше информации о
текущем состоянии канала и возникших проблемах. Однако специальные
эксперименты показали, что при большой нагрузке UDP-пакеты начинают
теряться и скорость передачи существенно падает. Это и определило
выбор протокола TCP.
На эффективность передачи через медленные каналы связи большое
влияние оказывает алгоритм гарантированной доставки сообщений.
Особенно большие задержки возникают в случае сбоев, отказов и
повторной передачи длинных сообщений. Поэтому разработан алгоритм,
который обеспечивает повторную передачу только искаженной или
потерянной части сообщения.
Для этого сообщения разделены на части (фрагменты). Каждый
фрагмент передают отдельно, квитируют и, при необходимости,
посылают повторно. Из полученных фрагментов собирают исходное
сообщение.
Кроме того, для ускорения доставки сообщений разработана
специальная процедура адаптации параметров передачи к реальным
условиям передачи и типам каналов. Она основана на измерении времени
пересылки фрагментов и объема потерь. Измеренные значения
сравнивают с некоторыми экспериментально полученными для разных
каналов эталонными величинами и корректируют, если это необходимо,
ранее установленные параметры передачи: длину фрагмента, тайм-ауты,
размеры скользящих окон и др.
С целью сокращения времени разработки, упрощения процедуры
внесения изменений и дополнений, а также удобства использования
прикладным программистом создаваемых средств доставки сообщений в
различных операционных средах, целесообразно их реализовать в виде
кроссплатформенной библиотеки.
Для проверки работы библиотеки был создан генератор тестовой
нагрузки, позволяющий менять размеры сообщений и интервалы их
следования.
Реализация и экспериментальное использование библиотеки показали
эффективность выбранных решений.
Список литературы
УДК 004(06) Компьютерные системы и технологии
1. У. Ричард Стивенс. Протоколы TCP/IP. Практическое руководство. СПб.: BHV, 2003.
672 с
Download