Сетевое издание
Современные проблемы науки и образования
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 0,940

ИССЛЕДОВАНИЕ СПОСОБОВ ПОВЫШЕНИЯ ПРОПУСКНОЙ СПОСОБНОСТИ С ИСПОЛЬЗОВАНИЕМ НЕСКОЛЬКИХ 3G МОДЕМОВ И ДРАЙВЕРА BONDING

Федченков П.В. 1
1 Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики
В статье исследуются способы объединения каналов передачи данных с целью повышения стабильности и пропускной способности. Целью работы является обосновать необходимость объединения каналов передачи данных, изучить режимы драйвера bonding ядра Linux, сравнить изменение пропускной способности при задействовании объединения каналов, а также определить задачи для дальнейших исследований в приложении к передаче данных через сотовые сети. Предложен вариант использования драйвера bonding для организации многопотоковой передачи данных, приведена схема решения, описаны необходимые настройки. Для изучения показателей надежности и скорости передачи данных произведен ряд испытаний с использованием 3G-модемов. Результаты измерений скорости позволяют выбрать режим исходя из требуемых характеристик системы. Для обеспечения надежности наилучшим вариантом является режим broadcast, для скорости – 802.11ad.
bonding
повышение пропускной способности
каналы связи
3g
OpenVPN
1. Таненбаум Э. Компьютерные сети. - 5-е изд. – СПб. : Питер, 2012. – 960 с. : ил.
2. Documentation – OpenVPN [Электронный ресурс]. – Режим доступа: openvpn.net/index.php/open-source/documentation.html (дата обращения: 02.02.2015).
3. Linux Ethernet Bonding Driver HOWTO [Электронный ресурс]. – Режим доступа: kernel.org/doc/Documentation/networking/bonding.txt (дата обращения: 15.02.2015).
4. Simon Mott - VPN Bonding - simonmott.co.uk [Электронный ресурс]. – Режим доступа: simonmott.co.uk/vpn-bonding (дата обращения: 15.02.2015).
5. UbuntuBonding - Community Help Wiki - Official Ubuntu Docummentation [Электронный ресурс]. – Режим доступа: help.ubuntu.com/community/UbuntuBonding (дата обращения: 07.02.2015).

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

При использовании в качестве канала связи сетей третьего поколения (3G) реальная скорость отдачи данных редко достигает уровня MБ/с даже в условиях прямой видимости базовой станции. В случае необходимости передачи данных с устройства пользователя данная величина является критически важной, однако ввиду направленности клиентских устройств на потребление контента операторы уделяют мало внимания повышению этого показателя.

В статье рассматривается один из способов повышения скорости обмена данными – объединение каналов при помощи драйвера bonding ядра Linux [3]. Драйвер предоставляет методы для агрегирования нескольких сетевых интерфейсов в один логический. Поведение связанных интерфейсов зависит от выбранного режима. В общем случае объединенные интерфейсы могут работать в режиме горячего резерва (отказоустойчивости) или в режиме балансировки нагрузки, с целью повышения пропускной способности.

Режимы объединения каналов

1. Balance-rr

Круговой, использует физические интерфейсы циклически, разделение происходит по пакетам. Единственный режим, позволяющий задействовать несколько каналов для передачи данных одного TCP-канала. Не требует дополнительных настроек сетевой платы.

2. Active-backup

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

3. Balance-xor

Режим производит выбор интерфейса для каждого соединения при помощи математического расчета. Обеспечивает контроль ошибок и распределение нагрузки множества соединений.

4. Broadcast

Пакеты передаются на все интерфейсы. Режим обеспечивает отказоустойчивость.

5. 802.3ad

IEEE 802.3ad Dynamic Link aggregation (динамическое объединение каналов). Создает агрегации групп, имеющие одни и те же скорости, и дуплексные настройки. Использует все включенные интерфейсы в активном агрегаторе согласно спецификации 802.3ad. Обеспечивает правильную очередность доставки пакетов. Требуется поддержка режима на уровне сетевой платы.

6. Balance-tlb

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

7. Balance-alb

Повторяет предыдущий режим, но также осуществляет балансировку входящего трафика. Подобное достигается путем ARP-опросов. Драйвер перехватывает ARP-ответ и перезаписывает исходный адрес на один из адресов интерфейса группы. Требуется поддержка смены MAC-адреса сетевой платы при активном соединении.

Предлагаемое решение

Объединение интерфейсов подразумевает наличие одинакового количества интерфейсов как на стороне клиента, так и на стороне сервера. Оптимальным вариантом представляется наличие непосредственного соединения двух устройств, что осуществимо в рамках локальной сети. Однако в случае использования сотовых сетей подобное представляется невозможным. Также заранее не известно количество обслуживаемых клиентских устройств, ведь для каждого из них требуется отдельный канал связи, то есть наличие на сервере сетевой платы и выделенного IP.

Таким образом, возникает необходимость использования виртуальных каналов связи. В предлагаемом варианте используется свободно распространяемая библиотека с открытым исходным кодом OpenVPN. Библиотека позволяет создавать каналы на уровне Ethernet-пакетов, а также осуществляет шифрование передаваемых данных. Таким образом достигается определённый уровень защиты передаваемых данных, что позволяет обойти ряд ограничений мобильных операторов на передаваемый трафик.

Для каждого устройства передачи данных (в данном случае для USB-модемов), создаётся отдельный туннель. Таким образом обеспечивается создание виртуальной локальной сети с множеством виртуальных интерфейсов, которые подключаются к разным портам через один физический интерфейс сервера [5]. Подобное разделение достигается путем использования возможностей межсетевого экрана netfilter (в текущей реализации используется дистрибутив Ubuntu 14.10).

Использование туннелей OpenVPN предоставляет возможность контроля ошибок соединений и обеспечивает ожидание восстановления подключения каждого из клиентских устройств передачи данных путем посылки ping-запросов на сервер с последующим переподключением [2]. В режиме простоя канала также производится периодическая проверка соединения, что важно ввиду неустойчивой связи в мобильных сетях.

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

Объединение интерфейсов осуществляется на уровне OpenVPN-туннелей, выступая ведомыми устройствами для так называемых bond-интерфейсов. Виртуальные устройства обладают функционалом, требующимся для каждого из режимов объединения, выбор которого осуществляется исходя из поставленной задачи. Схема решения приведена на рисунке 1.

Рис. 1. Схема решения.

Тестирование режимов передачи

Как видно из представленного выше перечня, в случае необходимости передачи данных по одному соединению, что актуально, к примеру, при передаче файлов по протоколам http, отчасти ftp, наибольшие преимущества извлекаются при использовании режима balance-rr. В таком случае обеспечение отказоустойчивости переносится на OpenVPN-туннели. Недостатком данного режима является отсутствие адаптивной балансировки нагрузки: пакеты перераспределяются поочередно, то есть максимальная эффективность осуществляется при объединении каналов с равной пропускной способностью, что невозможно обеспечить при подключении через мобильных операторов.

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

При использовании множества подключений между клиентом и сетью оптимальными выглядят варианты 802.31ad и balance-alb.

Результаты тестирования скорости передачи данных приведены в таблице 1. Замеры производились с использованием модемов ZTE MF823 (сеть «Мегафон») и Huawei e3372 (сеть «Билайн») в режиме принудительного включения 3G. Замеры производились в условиях загруженной сети, величина ping до 200 мс, уровень сигнала около -85 dbm.

Таблица 1

Результаты измерений

Режим объединения

Одно устройство

Два устройства

Прием, МБ/c

Отдача, МБ/c

Прием, МБ/c

Отдача, МБ/c

802.11ad

3

0.7

4.5

0.9

balance-rr

3.3

0.8

3.5

1

broadcast

3.6

0.8

3.5

0.75

Наилучшие показатели надежности наблюдаются у режима broadcast, однако он не обеспечивает прироста в скорости обмена данными при увеличении количества устройств. Приведённые цифры являются усредненными значениями по сеансам обмена данными.

Заключение

Использование драйвера bonding в качестве средства повышения пропускной способности систем, обеспечивающих передачу данных через несколько 3g-модемов, не позволяет достичь близкой к линейной зависимости между количеством устройств и скоростью передачи, которые вызваны высокой величиной задержки пакетов и нестабильностью связи. Однако определенные режимы обеспечивают значительное повышение стабильности соединения, что важно в условиях неуверенного приема и частых переподключений.

Рецензенты:

Горелик С.Л., д.т.н., профессор Санкт-Петербургского национального исследовательского университета информационных технологий, механики и оптики Минобрнауки РФ, г. Санкт-Петербург;

Федоров А.В., д.ф.-м.н., профессор, зав. кафедрой ОФ и СЕ Санкт-Петербургского национального исследовательского университета информационных технологий, механики и оптики Минобрнауки РФ, г. Санкт-Петербург.


Библиографическая ссылка

Федченков П.В. ИССЛЕДОВАНИЕ СПОСОБОВ ПОВЫШЕНИЯ ПРОПУСКНОЙ СПОСОБНОСТИ С ИСПОЛЬЗОВАНИЕМ НЕСКОЛЬКИХ 3G МОДЕМОВ И ДРАЙВЕРА BONDING // Современные проблемы науки и образования. – 2015. – № 1-1. ;
URL: https://science-education.ru/ru/article/view?id=18847 (дата обращения: 17.09.2021).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1.074