На шаг ближе к ячеистым сетям

С выпуском версии 0.3.5 вчера QuantumGate вводит поддержку одноранговых Bluetooth-соединений с использованием протокола RFCOMM. Соединения Bluetooth имеют первоклассную поддержку в библиотеке, как и соединения TCP и UDP, что означает, что все другие функции QuantumGate также поддерживаются через Bluetooth.

Одним из интересных следствий этого является то, что ретрансляционные соединения в сети QuantumGate также могут быть установлены через Bluetooth, и даже возможно установить одно ретранслируемое соединение через одноранговые соединения с использованием сочетания протоколов для каждого перехода.

Например, глядя на изображение выше, мы видим 6 пиров, A — F, подключенных друг к другу. Узел A подключается к узлу B через Bluetooth (RFCOMM), а узел B подключается к узлу C через TCP. И узел C подключен к узлу D по UDP. Одновременно одноранговый узел A также подключается к одноранговому узлу D через ретранслируемое соединение 1 (желтое) через 3 перехода, где каждый переход туннелируется через другой протокол (RFCOMM для перехода 1, TCP для перехода 2 и UDP для перехода 3).

Если узел A не имел доступа к Интернету, он мог бы подключиться к узлу B через Bluetooth и связаться с узлом C через Интернет через узел B. В других сценариях анализ трафика также становится более сложным, когда связь внезапно выходит из сети через Bluetooth и снова появляется где-то еще, возможно, даже в другой сети.

Вероятно, наиболее важным вариантом использования поддержки Bluetooth является ситуация, когда приложениям, созданным поверх QuantumGate, необходимо обмениваться данными друг с другом при возникновении проблем с Интернетом, например, когда грабители по всему миру отказывают своим рабам (также известным как граждане). Доступ к сети Интернет. Когда Интернет отключен, можно было бы поддерживать связь через одноранговую ячеистую сеть через Bluetooth. И если в сети все еще есть один пир с доступом в Интернет, другие пиры в конечном итоге все равно могут выйти в Интернет, например, через ретранслируемые соединения.

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

Имейте в виду, что скорость передачи по Bluetooth может быть значительно ниже по сравнению с TCP и UDP, и это связано с ограничениями Bluetooth.

Чтобы начать экспериментировать с QuantumGate, перейдите на страницу релизов на GitHub и загрузите последнюю версию.