Это многоанальные сокеты.
Для агрегации нескольких туннелей, работающих по разным каналам связи (например, через двух сотовых операторов) в одно логическое соединение с увеличенной пропускной способностью, отказоустойчивостью и балансировкой нагрузки.
Для добавления новых многоканальных сокетов в список используйте команды +
, _new
или _insert
. Именем сокета может являться целое число от 1 до 64. Данный список является именованным и не упорядочивается автоматически. Для удаления используйте команду -
или _remove
.
Настройка многоканального сокета в целом аналогична настройке одноканального датаграммного сокета. В отличие от одноканального сокета, имя используется только для идентификации сокета внутри одного устройства и может никак не коррелировать с именем парного сокета на удалённой стороне. Единственным специфическим параметром является дисциплина управления выходными очередями.
После того, как сокет создан, в него необходимо включить сколько-то туннелей — см. параметр multiTunnelSocket
в описании каждого туннеля (как в узле tunnel
, так и в узлах tunnels.NAME
). На сервере этот же параметр находится в узле clients
; при этом одному физическому устройству-клиенту соответствуют несколько узлов clients.NAME
на сервере.
ВНИМАНИЕ! Для работы многоканальных сокетов необходимы следующие условия:
- Все туннели, используемые для одного сокета, должны устанавливаться к одному и тому же серверу.
- Один из туннелей, включённых в состав сокета, должен быть обязательно описан в узле
tunnel
.- Список туннелей, включённых в описание сокета на одной и на другой стороне, должен совпадать.
Если в состав сокета не включено ни одного туннеля, то передача данных через такой сокет невозможна.
Многоканальный режим передачи данных предусмотрен в uiTCP только для датаграммных соединений. Однако, с точки зрения применения системы uiTCP, это не ограничивает общности, поскольку для передачи трафика TCP можно использовать виртуальные интерфейсы (тип net
).
ПРИМЕЧАНИЕ. Технология агрегирования каналов представляет собой побочный продукт и не является основной целью разработки uiTCP. Она имеет ограничения, в частности:
- ограниченную производительность — разрабатывалась преимущественно для низкоскоростных (по сегодняшним меркам) сотовых соединений 2G и 3.0G
- может эффективно применяться только на каналах с приблизительно равноценными характеристиками (как по скорости, так и по времени обращения пакетов); при попытке агрегировать два существенно разных канала получится, грубо говоря, удвоенная производительность худшего из них минус накладные расходы.
© Network Systems Group 2015–2024 | Отдел документации |