Мастерская по Mesh-сетям: что это такое и кому они нужны

Что такое mesh-сеть? Mesh-сеть — это объединение компьютеров не по традиционной технологии – клиенты и точка доступа, – а такое объединение, при котором сигнал и трафик между компьютерами либо другими устройствами маршрутизируется напрямую через компьютеры, без участия какого-то централизованного сервера.…

В конце августа Теплица социальных технологий проводила мастерскую по созданию Mesh-сети. Мы пригласили специалиста по Mesh-сетям Станислава Славкова, описавшего их преимущества для государственного, частного и бизнес-секторов и создавшего mesh-соединение в реальном времени.

Что такое mesh-сеть?

Mesh-сеть — это объединение компьютеров не по традиционной технологии – клиенты и точка доступа, – а такое объединение, при котором сигнал и трафик между компьютерами либо другими устройствами маршрутизируется напрямую через компьютеры, без участия какого-то централизованного сервера.

Плюсы данной технологии

Плюсы данной технологии вполне очевидны – если  случается какая-либо чрезвычайная ситуация и сетевой центральный узел выходит из строя, то, соответственно, пропадает связь со всеми узлами сети.

Если же из стоя вышел один узел при использовании mesh-технологии, то просто перестроится топология сети. При отправке сообщения будет извещение о том, что узел недоступен, и будет выбран другой альтернативный путь.

CJDNS — безопасная сеть для обычных людей

Существуют разные виды mesh-сетей, например, CJDNS. Эта сеть интересна тем, что в ее структуре используется IPv6-технология — протокол, который имеет перспективу внедрения в Интернете. Кроме того, сеть CJDNS является безопасной сетью и предназначена для обычных людей.

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

1097527_10200585428981669_252031633_n

Приватность и анонимность

Многие знают о существовании таких вещей, как СОРМ и PRISM. Для государства это, очевидно, полезные практики – они помогают отслеживать террористов и т.д. Но, в то же самое время, мало кому приятно, что их личную информацию и сообщения может читать правительство. При использовании mesh-сетей информация доходит только до того человека, кому она предназначается.

При этом, сеть CJDNS является приватной, но не анонимной. Что это значит?

Приватность — это когда вы отсылаете сообщение своему другу и прочитать его может только ваш друг. С другой стороны, можно с достаточной точностью установить автора. Это принципиальное отличие между сетью CJDNS и такими анонимными сетями, как I2P, Tor и т.д. Сеть CJDNS позиционируется больше как открытая дружественная сеть и замена существующим протоколам в Интернете.

Где может быть использована mesh-сеть?

Во-первых, поскольку идет повсеместное использование шифрования, mesh-сеть можно использовать во всех сферах, где критична передача информации в зашифрованном виде. Плюс CJDNS в том, что весь трафик, который передается через нее, уже зашифрован. В то же самое время, поскольку все программы видят данную сеть как обычное сетевое подключение, то они, если они поддерживают IPv6, могут работать и с данной сетью.

Также, у CJDNS, по сравнению с обычными сетями, лучше покрытие. Например, если представить, что у вас дома стоит один роутер, у ваших соседей еще два роутера и т.д., то вы, сидя у себя в квартире, можете видеть 5-6 точек доступа, открытых или закрытых, в зависимости от наличия паролей. Минус заключается в том, что вы к ним подключиться не можете, если они закрыты паролем, и у каждого есть свой канал доступа связи с Интернетом. Если использовать mesh-сеть, причем не обязательно CJDNS, то данные точки будут объединяться вместе, и при перегрузке на одной точке трафик будет идти в канал другой точки. Соответственно, также увеличивается покрытие сети, потому что будет идти автоконфигурация каналов, чтобы исключить интерференцию — чтобы каналы друг с другом не пересекались и точки доступа не заглушали друг друга.

Особенности CJDNS

Особенностями CJDNS является маршрутизация и DHT.

DHT, распределенная хеш-таблица, в технологии CJDNS используется для передачи информации о маршрутизации. В нынешнем Интернете каждый роутер знает, куда он должен передать пакет данных. В сети CJDNS нет ни корневого роутера, ни определенных магистральных роутеров. Т.е. когда вы отправляете пакет и информацией вашему знакомому, он отправляется в сеть и выбирается тот роутер, который к вам ближе всего подключен. Затем он уже рассылает сообщение в DHT и находит маршрут до того, куда нужно доставить пакет. Для узнавания маршрута требуется небольшое время — порядка 5-6 секунд. Но это только первый раз. Как только маршрут найден, он рассылается всем пользователям сети, и все пользователи сети его хранят. Как только взаимодействие прекратилось, данный маршрут удаляется, чтобы не было перегрузок в сети.

Что значит «пробить» NAT?

«Пробить» с помощью CJDNS NAT означает следующее: если у вас есть «серый» IP-адрес, то если вы создаете веб-сервис,  доступ к нему будут иметь только пользователи локальной сети. Пользователи Интернета в глобальном мире доступа к нему не будут иметь. В случае CJDNS глобальный Интернет, конечно, тоже не будет иметь доступ, потому что эта сеть рассматривается как параллельная Интернету, но любой пользователь CJDNS будет видеть данный сервис. Он может быть за тремя файерволлами, за NAT, за еще чем-то, но если первое соединение удалось, то вы сможете использовать все плюсы «белого» IP-адреса.

Перераспределение нагрузки в сети

В случае CJDNS перераспределение нагрузки в сети осуществляется через DHT и маршрутизацию. Как правило, один участник сети подключен к 5-10 соседям. Как только на роутере становится понятно, что трафик идет медленно, либо идут потери пакетов, то выбирается другой оптимальный маршрут. Всё это происходит автоматически.

Адреса IPv6

Когда вы подключаетесь к CJDNS, вы получаете адрес, который будет работать в этой сети. Больше ни в какой сети он работать не будет, но, поскольку все адреса берутся не из воздуха и что-то значат, то данный адрес — это адрес из приватного диапазона адресов IPv6.

Приватный диапазон адресов IPv6 — это аналог адресов, которые начинаются на 192.168 в обычном Интернете. Т.е., по сути, это локальные адреса. Сеть CJDNS использует локальные адреса IPv6. Адресов IPv6 такое количество, что если часть из них потратится на адреса CJDNS, то ничего не пострадает. В тоже время следует отметить, что нет никакого пересечения с обычными публичными IPv6-адресами.

Т.е. если предположить, что завтра весь мир перейдет на IPv6 с IPv4, то сеть CJDNS все равно не будет никому мешать и, соответственно, не будет никаких конфликтов.

Безопасность

При использовании CJDNS не возможна такая атака, как Man-in-the-middle и DPI.

Атака Man-in-the-middle (человек посередине) — это такая атака, когда между вами и сервером, куда вы отправляете данные, находится еще одно устройство, которое может прослушивать трафик и передавать его дальше.

Атака "Man in the middle"
Атака «Man in the middle»

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

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

Кроме того, хотелось бы отметить, что технология DPI в этой сети не может быть использована в принципе. DPI — это такая технология, которая занимается глубоким анализом трафика. Для провайдеров она очень выгодна, для обычных людей — нет.

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

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

Кому нужны mesh-сети?

1. Бизнесу

Во-первых, mesh-сети могут быть использованы в бизнесе. Например, сейчас на улицах множество терминалов оплаты и банкоматов, и все они тоже как-то подключаются к Интернету. В основном, это 3G или 4G модемы от операторов сотовой связи. С одной стороны, это, конечно, простое и хорошее решение, но, с другой стороны, обычно у них сильно завышены цены, а скорость получения и передачи информации очень низка.

При использовании mesh-сети, если район уже покрыт mesh-сетью, дополнительный установленный узел будет не только получать доступ к Интернету и к сети CJDNS, но и сам выступать в роли ретранслятора и, соответственно, улучшать суммарный сигнал сети.

Кроме того, в сети CJDNS возможно резервирование канала — в ситуации, когда сеть оказывается перегружена, направление трафика может быть изменено, и, таким образом, мы получим разнесение нагрузки, что гарантирует то, что связь не пропадет из-за перегрузки сети (как, например, бывает в Новый год).

2. Государству

Казалось бы, зачем государству нужны mesh-сети, если они, фактически, бесконтрольны? Потому что, в то же самое время, это самый дешевый доступ к Интернету. По сути, если мы ставим одну точку доступа к сети CJDNS в одном доме, а потом по социальной программе раздаем роутеры в каждую квартиру, то это значительно упрощает монтаж и подключение новых абонентов, а также увеличивает емкость сети и суммарно увеличивает скорость сети.

Затем, поскольку государству выгодно, чтобы электронные услуги были простыми и доступными для граждан, граждане с помощью сети смогут получить к таким услугам доступ довольно быстро. И, опять же, это бесплатно.

3. Провайдеру

Плюсы для провайдеров — это легкость настройки сети. Также будет осуществляться демонополизация, потому что если данная сеть будет, она, по сути, будет едина, но проблему последней мили могут решить именно провайдеры, которые будут устанавливать соединения между сегментами этой сети, повышать емкость этой сети с помощью прокладки дополнительных каналов, либо установки точек доступа, которые будут доступны потребителям. Кроме того, никто не мешает провайдеру сделать CJDNS-сеть с паролем и за небольшие деньги предоставлять к ней доступ. Но в дальнейшем, как я уже говорил, это возможно пропадет, потому что появятся открытые аналоги.