Распределенная сеть Guifi.net : краудсорсинг в сети

Нужда - один из двигателей прогресса, и этот случай не исключение. Жители небольшого испанского города Гурб, который находится не так далеко от Барселоны, не были избалованы хорошим доступом в сеть Internet, а также многими другими сетевыми сервисами, что далеко не всех устраивало. Также это не устраивало и будущего основателя проекта, инженера Рамона Рока, который просто хотел себе нормальный полноценный доступ в Internet. Вся эта - самая большая распределенная сеть в мире на момент написания статьи - началась с нескольких роутеров, настроенных на работу в гетерогенной сети(mesh network). И, в течение короткого времени, из персонального проекта по организации себе любимому полноценного доступа в Internet это эволюционировало в огромный проект по улучшению жизни тысяч людей их же совместными усилиями и средствами. Но - обо всём по порядку.

Начнём с небольшого экскурса в технические детали, но так, чтобы это было понятно всем. Для тех, кто хорошо подкован в технических вопросах и в сетевых технологиях в частности, перечислю технологическую основу: QuickMesh protocol, OSPF и гетерогенные сети в принципе(mesh networking, см. B.A.T.M.A.N-adv/A.L.F.R.E.D), ну а далее я - упрощенно - объясню что это и зачем. Изначально и исторически, и технологически, сети имели иерархические топологии(структуры взаимосвязи узлов) - то есть либо один главный узел, либо объединение в "звезду" или кольцо глобальную структуру. То есть так или иначе, чтобы "позвонить" из точки А в точку Б, нужно пройти через эту иерархическую систему узлов. Да, и именно эта дурная наследственность до сих пор создаёт такие курьёзы, когда буквально в соседнем доме или через дом интернет "летает", а вот у Вас - тормозит, или нет вообще ничего, кроме телефонного кабеля(ADSL) или коаксиального кабеля как для телевизионной антенны(привет, (к)Акадо!). Просто Вам так "повезло", что именно в Ваше жилище какие-то пару сотен метров не дошел большой провайдер. Что делать? А если ещё более подробно посмотреть на проблемы, порождаемые побочными эффектами, с которыми незаметно, но чуть ли не каждый день сталкиваются большинство из нас. Начнём с беспроводного доступа в сеть Internet. Да, даже в РФ есть бесплатные Wi-Fi, хотя сейчас даже в нарушение Конституции РФ принят закон об обязательной идентификации их пользователей. Давайте посмотрим пошире - а как насчёт Wi-Fi в парках, других общественных местах? Почему обязательно использовать там мобильный доступ в интернет? Более того - маленькая "пасхалка" от операторов, берущая начало во времена коммутируемого подключения - "случайный" обрыв сессии. Смысл в те далёкие времена был в том, чтобы освобождать линии на модемном пуле для тех, кто пытается тоже дозвониться. Сейчас смысл в следующем: при обрыве трафик сессии округляется вверх, то есть в большую сторону, до определенной границы - как правило, это мегабайт. Почему? Да потому что, хотя бы, трафик той же ICQ за сутки - если не разрывать сессию - это несколько мегабайт и то в редких случаях. К любому текстовому messenger'у это также относится: если Вы не передаёте файлы, не используете голосовую и видео связь - это только текст, а он - даже при шифровании - весит очень мало. Все Ваши ВКонтакте, Facebook и Twitter - тоже, аватары даже постоянно новых пользователей кэшируются на локальном устройстве, а сотовым операторам просто по деньгам "не интересно" не обувать Вас на "округлённый" трафик. Тем более, что переподключение(повторное подключение к мобильному интернету при разрыве сессии) происходит во всех мобильных и стационарных операционных системах абсолютно автоматически и незаметно, если только сам пользователь не изменил эту весьма "глубоко зарытую" настройку. 95% пользователей используют настройки "по умолчанию" как минимум в мобильных и переносных устройствах - это факт.

А теперь посмотрим на саму суть вопроса доступа к сети под несколько другим углом. В чём - собственно - суть самого факта выхода в InterNet для обычного пользователя? И здесь мы абстрагируемся от конкретики вида "скачать торрент", "проверить почту", "пообщаться в чате" и.т.п. Суть лежит в самом значении слова InterNet, что есть Inter-Networking, то есть "взаимодействие между сетями", или - говоря о простом смертном пользователе - в необходимости из своего исходного расположения(то есть "точки А") связаться с "чем-то удалённым"(то есть "точкой Б"). Иначе говоря в терминах сетей - связаться с чем-то, к чему мы не подсоединены локально, с абсолютно любой целью. И не надо быть Гуру в сетях и обладателем высоких сертификаций Cisco чтобы понять, что классическая схема в виде иерархически организованных сетей при решении этой насущной задачи единственным выходом не является. Кто же мешает Вам, например послать сообщение Васе из соседнего подъезда "пойдем пить пиво", если Вы отсылаете его со своего мобильного приложения Facebook на его же мобильное приложение Facebook или домашний компьютер? Цензурасты и ретрограды тут сразу же начнут разговор за пользу бедных о "мировых стандартах сетевых технологий и протоколов" и/или о "зачем изобретать колесо", но... А давайте "разуем глаза"! Во всех устройствах, выпускаемых с 2003 года как минимум, есть совершено штатная поддержка протоколов обмена "точка-точка", например Bluetooth. Также практически любой девайс, выпущенный после 2007 года, умеет быть беспроводной точкой доступа Wi-Fi. А теперь не забываем наш конкретный пример, а именно то, что Вася - адресат сообщения - он не за полмира от Вас, он в соседнем подъезде! А зачем Вам двоим для этого, собственно, internet? А Facebook тут при чём? Что мешает Вам общаться напрямую также, как и при личной встрече - "точка-точка"/"пользователь-пользователь"? Ответ очень не нравится сторонникам цензуры - НИЧЕГО...

Я не случайно выбрал такой простой пример, как чат между двумя близко расположенными пользователями - и вот почему. Давайте рассмотрим ещё один маленький пример из реальной жизни, который не чужд каждому из обычных людей. Например Вы, Вася и Петя живёте в одном подъезде. Вы видите Петю, и узнаёте, что он идёт к Васе, и просите его передать Васе Ваше предложение по поводу попить пивка - и это нормально. Вы как человек-к-человеку(в терминах сетей "точка-точка") передали сообщение тому, кого Вы имеете в зоне досягаемости тому, кто находится в его зоне досягаемости, но не в Вашей. И это - нормально. Также Вы можете передать совершенно непонятное сообщение для передающего(например, "пойдём лошадок заморим"), но понятное получателю("пошли покурим"). Этим проверенным временем механизмам общения более трёх тысяч лет, если вдаваться в историю! Ну а что же мешает сделать это в цифровом виде? Что мешает передать сообщение через третьи руки, которые могут пообщаться и с отправителем, и с адресатом - и ни отправитель, ни адресат не имеют оснований не доверять "передасту"? =) Да, собственно, ничего не мешает...

И вот именно вот так мы и приходим к тому, что так или иначе непосредственное общение отправителя и адресата, или общение через доверенные(в определенной степени) третьи руки - это не просто нормально, а абсолютно жизнеспособно и работает! Вот именно так, изначально, и задумывался проект B.A.T.M.A.N, а также буквально взорвавший мир проект FireChat. Позднее из FireChat появился проект OpenGarden, который тормозит и на момент написания статьи - безбожно, но, давайте вспомним, что самая-самая первая электрическая лампочка жила намного менее месяца. Сама суть всех этих разных проектов заключается в том, чтобы - фигурально выражаясь - "дать возможность точка А и Б связаться любым способом без лишних "посредников"". Естественно, как и с появлением голосовых средств связи через Internet, например Skype, когда провайдеры мобильной связи "вдруг" осознали, что обдирать за междугородние и международные звонки людей больше не получится, и возникло противодействие всеми законными и не очень(но покупаемыми за те или иные деньги) способами. Но - из точки А в точку Б теперь уже давно можно передавать что угодно, а не просто текстовые сообщения - и без лишних рук, нередко нечистых на руку: прощай, цензура и незаконная слежка!

Но все подобные попытки и инициативы были весьма и весьма локальными, местными, маленькими... Пока не был создан Guifi! Очень скоро - после успешного решения проблемы домашнего интернета основателя проекта - сначала друзья и знакомые, а потом и совершенно незнакомые создателю проекта люди - захотели также участвовать в сети. Сеть росла лавинообразно, и, со временем, был создан Guifi Consortium - некоммерческая саморегулирующаяся организация для дальнейшего развития проекта. Люди предоставляют своё оборудование, или место для его размещения, или и то и другое - и теперь сеть растёт даже международно! Вы сами можете в этом убедиться на официальном сайте проекта по адресу guifi.net - новые узлы подключаются еженедельно!

Ну а какие же правила поведения в сети? Естественно, что анархия есть мать порядка только разве что в похмельном сне: везде есть свои ценности и понятия о том, "что позволено Юпитеру, и что позволено быку". Правила следующие:

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

Как и в сети internet - вопреки "опусам" законотворцев по всему миру - ответственность за исполнения местного и международного права лежит на конечном пользователе, и было бы клиническим идиотизмом включать её в этот свод правил: они относятся собственно к самой сети и работе в ней.

Для того, чтобы людям было проще присоединиться к этой краудсорсинговой инициативе, есть также дистрибутив Cloudy Linux, поддерживаемый разработчиками-участниками сети. Также можно настроить любой роутер, работающий на OpenWRT, для работы в сети - поддержка qmp(QuickMesh Protocol) для этой прошивки весьма стабильна уже давно.

Русский