Netsukuku

Поделись знанием:
Перейти к: навигация, поиск
Netsukuku
Тип

Децентрализованная анонимная сеть

Разработчик

[netsukuku.freaknet.org/?pag=contacts Команда разработчиков Netsukuku]

К:Википедия:Статьи без изображений (тип: не указан)

NETSUKUKU — проект создания распределённой самоорганизующейся одноранговой сети, способной обеспечить взаимодействие огромного количества узлов при минимальной нагрузке на центральный процессор и память. В такой сети возможно обеспечение повышенной отказоустойчивости, анонимности, невозможности цензуры и полной независимости от Интернет.

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

На данный момент завершено портирование Vala и доступна beta-версия. Релиз первой версии был запланирован на 1 августа 2014 года.





Реализация

NETSUKUKU — это ячеистая сеть передачи данных, или p2p сеть, которая автоматически генерируется и самостоятельно поддерживается. Она создана для управления неограниченным числом узлов с минимальными затратами процессорного ресурса и памяти. Благодаря этому в будущем возможно построение всемирной распределённой, анонимной и не контролируемой сети, отдельно от Интернет, без поддержки каких-либо служб, провайдеров и тому подобного. Такая сеть состоит из компьютеров, физически соединённых друг с другом, поэтому нет необходимости надстройки над уже существующей сетью. NETSUKUKU создаёт только пути, которые соединяют компьютеры в единую сеть. Иначе говоря, NETSUKUKU заменяет 3-й уровень современной модели OSI другим протоколом маршрутизации.

В качестве замены DNS (Domain Name System, системы доменных имён) авторы NETSUKUKU, предлагают использовать A Netsukuku Domain Name Architecture (ANDNA).

NETSUKUKU автоматически управляема. Она создаёт сама себя и может функционировать автономно. При подсоединении нового узла к NETSUKUKU сеть автоматически переписывает себя, и все остальные узлы знают наиболее быстрый и эффективный путь к новоприбывшему узлу. Узлы не имеют привилегий или ограничений по сравнению с остальными узлами: они представляют собой части одной сети.

С увеличением числа узлов сеть растёт, становясь более эффективной. В NETSUKUKU нет различий между локальной и глобальной сетью, поэтому говорить о локальной сети бессмысленно.

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

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

Пропускная способность ограничивается возможностями нынешних сетевых карт.

NETSUKUKU — это ячеистая сеть, или p2p сеть, построенная на протоколе динамической маршрутизации Npv7_HT. В настоящее время существует достаточно много протоколов и алгоритмов для динамического управления, но они все отличаются от Npv7_HT, поскольку используются строго для создания маленьких сетей. Управление Интернетом также осуществляется различными протоколами, такими как OSPF, RIP или BGP, в основе которых лежат классические алгоритмы, способные находить наилучший путь для достижения узла в сети. Данные протоколы требуют больших ресурсов процессора и памяти. По этой причине для подобных целей предназначены специальные компьютеры. Ни один из этих протоколов не сможет создать и поддерживать такую сеть, как NETSUKUKU, в которой каждый узел управляется самостоятельно, потому что маршрутная карта всех путей, хранящаяся на каждом компьютере в сети, требовала бы около 10 Гбайт пространства.

Структура Npv7 — сеть как фрактал. Для расчёта всех необходимых путей связи узла со всеми остальными узлами протокол использует особый алгоритм, называемый Quantum Shortest Path Netsukuku (QSPN). Фрактал — это математическая структура с дробной размерностью, которая обладает свойством рекурсивности: каждая её часть является уменьшенной копией целого. Поэтому возможно большое сжатие структуры, которая может безгранично расширяться. А это значит, что нужно всего лишь несколько килобайт для хранения всей карты маршрутов NETSUKUKU. Структура маршрутной карты NETSUKUKU может быть также определена как высококластеризованный граф узлов.

С другой стороны, QSPN представляет собой метаалгоритм в том смысле, что не следует никаким математическим правилам, а использует случайность и хаос, которые не требуют сложных вычислений. QSPN выполняется в реальных сетях, узлы посылают QSPN-пакеты для создания сети. По этой причине не всегда верно утверждение, что определённый пакет будет отослан раньше какого-либо другого.

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

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

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

Протокол Npv7

Протокол NETSUKUKU, первая версия.

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

Разграничения NETSUKUKU.

Базовые определения:

src_node
Исходный узел. Узел, который отправляет пакет узлу назначения dst_node.
dst_node
Узел назначения. Узел, который получает пакет от исходного узла src_node.
r_node
Удалённый узел, от узла X, это любой узел связанный с узлом X.
g_node
Группа узлов или группа групп узлов.
b_node
Пограничный узел — узел, соединённый с двумя (r_node) узлами из разных (g_node) групп узлов.
h_node
Цепляющийся узел — узел, подсоединяющийся к NETSUKUKU.
int_map
Внутренняя карта. Внутренняя карта узла X содержит информацию о группе узлов (g_node), к которой он принадлежит.
ext_map
Внешняя карта. Карта содержит информацию о группах узлов.
bmap/bnode_map
Карта пограничных узлов. Карта содержит информацию о (b_node) пограничных узлах.

Npv7 II Лазерная передача, направленная сразу нескольким неспецифицированным приёмникам.

Npv7 II вторая версия прокола Npv7.

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

QSPN

Тому, кто знаком с физикой волны, будет просто понять, как работает qspn. Если бросить камень в бассейн с водой, то можно наблюдать следующее: волны начинают распространяться из начальной точки, причём каждая волна рождает новую волну, которая продолжает распространяться и рождать все новые и новые волны. Когда волна ударяется о края бассейна или о какую-то преграду, она отражается и начинает распространяться в обратную сторону. В применении к qspn камень — это qspn_starter, бассейн — gnode, а каждая волна — tracer_pkt. Каждая новая волна несёт с собой информацию о родившей её волне. Когда tracer_pkt (волна) достигает extreme_node (препятствия или границы бассейна), рождается qspn_open (отражённая волна).

QSPN базируется на описанном принципе. Начиная трассировку узлов, каждый узел посылает qspn_pkt, называемый qspn_close, становясь тем самым qspn_starter. Qspn_pkt это обычный tracer_pkt, но его метод вещания немного отличается от остальных. Каждый пакет, который получает qspn_close, «закрывает» линк узла, от которого получил этот пакет и отсылает пакеты по всем своим остальным линкам. Все последующие полученные qspn_close пакеты будут переправляется по всем оставшимся незакрытым линкам. Через некоторый промежуток времени появляются узлы, у которых все линки будут закрыты. Такие узлы становятся extreme_node и посылают в качестве ответа другой qspn_pkt пакет (qspn_open). Другими словами, qspn_open пакет отправляется, после того как получены qspn_close пакеты от всех узлов. Пакет qspn_open содержит всю информацию, собранную в последнем полученном пакете qspn_close. Extreme_node посылает пакет qspn_open по всем своим линкам, кроме того узла, от которого он получил последний qspn_close; этому узлу отсылается пустой пакет. Другими словами, пакет qspn_open отправляется после того, как узел получил пакет qspn_close от всех узлов. Узел, получивший пакет qspn_open, открывает все линки. Узлы со всеми открытыми связями абсолютно ничего не делают. Таким образом, гарантируется законченность обмена пакетами qspn_close. У qspn_open пакетов также есть идентификационный номер(sub_id) — число, которое идентифицирует во внешних картах узлы «extreme_node», сгенерировавшие эти qspn_open пакеты. Sub_id, сгенерированный в самом первом пакете и не меняющийся во всех порождённых(qspn_open) пакетах, используется для управления большим числом qspn_pkt пакетов, так как рано или поздно каждый узел сгенерирует пакет qspn_open, и все они должны быть независимы и отличны друг от друга. Действительно, все узлы, которые имеют только одну связь, — это узлы extreme_node, ведь когда они получают qspn_close, они уже закрыты. После отправки пакета qspn_open узел не может отвечать больше никому и ни на какие полученные qspn_pkt пакеты, поэтому он больше ничего не отправляет.

Узел qspn_starter, который запустил qspn, становится обычным узлом, но не отправляет пакет qspn_open, так как отправил первый qspn_close. Кроме того, чтобы обновить свою собственную карту, узел будет использовать все полученные qspn_close пакеты, кроме тех, которые были отправлены такими же qspn_start узлами. Таким образом, поддерживается стабильность в случае наличия более одного узла «qspn_starter».

Напишите отзыв о статье "Netsukuku"

Примечания

См. также

Ссылки

  • [netsukuku.freaknet.org/?p=Documentation what’s this? Документация] (англ.)
  • [download.savannah.gnu.org/releases/netsukuku/ Скачать релиз]
  • [netsukuku.wiki.zoho.com/HomePage.html Netsukuku по русски]
Портал «Анархизм»
Портал «Криптография»
Портал «Компьютерные сети»
Портал «Свободное программное обеспечение»

Отрывок, характеризующий Netsukuku

В темноте как будто текла невидимая, мрачная река, всё в одном направлении, гудя шопотом, говором и звуками копыт и колес. В общем гуле из за всех других звуков яснее всех были стоны и голоса раненых во мраке ночи. Их стоны, казалось, наполняли собой весь этот мрак, окружавший войска. Их стоны и мрак этой ночи – это было одно и то же. Через несколько времени в движущейся толпе произошло волнение. Кто то проехал со свитой на белой лошади и что то сказал, проезжая. Что сказал? Куда теперь? Стоять, что ль? Благодарил, что ли? – послышались жадные расспросы со всех сторон, и вся движущаяся масса стала напирать сама на себя (видно, передние остановились), и пронесся слух, что велено остановиться. Все остановились, как шли, на середине грязной дороги.
Засветились огни, и слышнее стал говор. Капитан Тушин, распорядившись по роте, послал одного из солдат отыскивать перевязочный пункт или лекаря для юнкера и сел у огня, разложенного на дороге солдатами. Ростов перетащился тоже к огню. Лихорадочная дрожь от боли, холода и сырости трясла всё его тело. Сон непреодолимо клонил его, но он не мог заснуть от мучительной боли в нывшей и не находившей положения руке. Он то закрывал глаза, то взглядывал на огонь, казавшийся ему горячо красным, то на сутуловатую слабую фигуру Тушина, по турецки сидевшего подле него. Большие добрые и умные глаза Тушина с сочувствием и состраданием устремлялись на него. Он видел, что Тушин всею душой хотел и ничем не мог помочь ему.
Со всех сторон слышны были шаги и говор проходивших, проезжавших и кругом размещавшейся пехоты. Звуки голосов, шагов и переставляемых в грязи лошадиных копыт, ближний и дальний треск дров сливались в один колеблющийся гул.
Теперь уже не текла, как прежде, во мраке невидимая река, а будто после бури укладывалось и трепетало мрачное море. Ростов бессмысленно смотрел и слушал, что происходило перед ним и вокруг него. Пехотный солдат подошел к костру, присел на корточки, всунул руки в огонь и отвернул лицо.
– Ничего, ваше благородие? – сказал он, вопросительно обращаясь к Тушину. – Вот отбился от роты, ваше благородие; сам не знаю, где. Беда!
Вместе с солдатом подошел к костру пехотный офицер с подвязанной щекой и, обращаясь к Тушину, просил приказать подвинуть крошечку орудия, чтобы провезти повозку. За ротным командиром набежали на костер два солдата. Они отчаянно ругались и дрались, выдергивая друг у друга какой то сапог.
– Как же, ты поднял! Ишь, ловок, – кричал один хриплым голосом.
Потом подошел худой, бледный солдат с шеей, обвязанной окровавленною подверткой, и сердитым голосом требовал воды у артиллеристов.
– Что ж, умирать, что ли, как собаке? – говорил он.
Тушин велел дать ему воды. Потом подбежал веселый солдат, прося огоньку в пехоту.
– Огоньку горяченького в пехоту! Счастливо оставаться, землячки, благодарим за огонек, мы назад с процентой отдадим, – говорил он, унося куда то в темноту краснеющуюся головешку.
За этим солдатом четыре солдата, неся что то тяжелое на шинели, прошли мимо костра. Один из них споткнулся.
– Ишь, черти, на дороге дрова положили, – проворчал он.
– Кончился, что ж его носить? – сказал один из них.
– Ну, вас!
И они скрылись во мраке с своею ношей.
– Что? болит? – спросил Тушин шопотом у Ростова.
– Болит.
– Ваше благородие, к генералу. Здесь в избе стоят, – сказал фейерверкер, подходя к Тушину.
– Сейчас, голубчик.
Тушин встал и, застегивая шинель и оправляясь, отошел от костра…
Недалеко от костра артиллеристов, в приготовленной для него избе, сидел князь Багратион за обедом, разговаривая с некоторыми начальниками частей, собравшимися у него. Тут был старичок с полузакрытыми глазами, жадно обгладывавший баранью кость, и двадцатидвухлетний безупречный генерал, раскрасневшийся от рюмки водки и обеда, и штаб офицер с именным перстнем, и Жерков, беспокойно оглядывавший всех, и князь Андрей, бледный, с поджатыми губами и лихорадочно блестящими глазами.
В избе стояло прислоненное в углу взятое французское знамя, и аудитор с наивным лицом щупал ткань знамени и, недоумевая, покачивал головой, может быть оттого, что его и в самом деле интересовал вид знамени, а может быть, и оттого, что ему тяжело было голодному смотреть на обед, за которым ему не достало прибора. В соседней избе находился взятый в плен драгунами французский полковник. Около него толпились, рассматривая его, наши офицеры. Князь Багратион благодарил отдельных начальников и расспрашивал о подробностях дела и о потерях. Полковой командир, представлявшийся под Браунау, докладывал князю, что, как только началось дело, он отступил из леса, собрал дроворубов и, пропустив их мимо себя, с двумя баталионами ударил в штыки и опрокинул французов.
– Как я увидал, ваше сиятельство, что первый батальон расстроен, я стал на дороге и думаю: «пропущу этих и встречу батальным огнем»; так и сделал.
Полковому командиру так хотелось сделать это, так он жалел, что не успел этого сделать, что ему казалось, что всё это точно было. Даже, может быть, и в самом деле было? Разве можно было разобрать в этой путанице, что было и чего не было?
– Причем должен заметить, ваше сиятельство, – продолжал он, вспоминая о разговоре Долохова с Кутузовым и о последнем свидании своем с разжалованным, – что рядовой, разжалованный Долохов, на моих глазах взял в плен французского офицера и особенно отличился.
– Здесь то я видел, ваше сиятельство, атаку павлоградцев, – беспокойно оглядываясь, вмешался Жерков, который вовсе не видал в этот день гусар, а только слышал о них от пехотного офицера. – Смяли два каре, ваше сиятельство.
На слова Жеркова некоторые улыбнулись, как и всегда ожидая от него шутки; но, заметив, что то, что он говорил, клонилось тоже к славе нашего оружия и нынешнего дня, приняли серьезное выражение, хотя многие очень хорошо знали, что то, что говорил Жерков, была ложь, ни на чем не основанная. Князь Багратион обратился к старичку полковнику.
– Благодарю всех, господа, все части действовали геройски: пехота, кавалерия и артиллерия. Каким образом в центре оставлены два орудия? – спросил он, ища кого то глазами. (Князь Багратион не спрашивал про орудия левого фланга; он знал уже, что там в самом начале дела были брошены все пушки.) – Я вас, кажется, просил, – обратился он к дежурному штаб офицеру.
– Одно было подбито, – отвечал дежурный штаб офицер, – а другое, я не могу понять; я сам там всё время был и распоряжался и только что отъехал… Жарко было, правда, – прибавил он скромно.
Кто то сказал, что капитан Тушин стоит здесь у самой деревни, и что за ним уже послано.
– Да вот вы были, – сказал князь Багратион, обращаясь к князю Андрею.
– Как же, мы вместе немного не съехались, – сказал дежурный штаб офицер, приятно улыбаясь Болконскому.
– Я не имел удовольствия вас видеть, – холодно и отрывисто сказал князь Андрей.
Все молчали. На пороге показался Тушин, робко пробиравшийся из за спин генералов. Обходя генералов в тесной избе, сконфуженный, как и всегда, при виде начальства, Тушин не рассмотрел древка знамени и спотыкнулся на него. Несколько голосов засмеялось.
– Каким образом орудие оставлено? – спросил Багратион, нахмурившись не столько на капитана, сколько на смеявшихся, в числе которых громче всех слышался голос Жеркова.
Тушину теперь только, при виде грозного начальства, во всем ужасе представилась его вина и позор в том, что он, оставшись жив, потерял два орудия. Он так был взволнован, что до сей минуты не успел подумать об этом. Смех офицеров еще больше сбил его с толку. Он стоял перед Багратионом с дрожащею нижнею челюстью и едва проговорил:
– Не знаю… ваше сиятельство… людей не было, ваше сиятельство.
– Вы бы могли из прикрытия взять!
Что прикрытия не было, этого не сказал Тушин, хотя это была сущая правда. Он боялся подвести этим другого начальника и молча, остановившимися глазами, смотрел прямо в лицо Багратиону, как смотрит сбившийся ученик в глаза экзаменатору.
Молчание было довольно продолжительно. Князь Багратион, видимо, не желая быть строгим, не находился, что сказать; остальные не смели вмешаться в разговор. Князь Андрей исподлобья смотрел на Тушина, и пальцы его рук нервически двигались.
– Ваше сиятельство, – прервал князь Андрей молчание своим резким голосом, – вы меня изволили послать к батарее капитана Тушина. Я был там и нашел две трети людей и лошадей перебитыми, два орудия исковерканными, и прикрытия никакого.
Князь Багратион и Тушин одинаково упорно смотрели теперь на сдержанно и взволнованно говорившего Болконского.
– И ежели, ваше сиятельство, позволите мне высказать свое мнение, – продолжал он, – то успехом дня мы обязаны более всего действию этой батареи и геройской стойкости капитана Тушина с его ротой, – сказал князь Андрей и, не ожидая ответа, тотчас же встал и отошел от стола.
Князь Багратион посмотрел на Тушина и, видимо не желая выказать недоверия к резкому суждению Болконского и, вместе с тем, чувствуя себя не в состоянии вполне верить ему, наклонил голову и сказал Тушину, что он может итти. Князь Андрей вышел за ним.
– Вот спасибо: выручил, голубчик, – сказал ему Тушин.
Князь Андрей оглянул Тушина и, ничего не сказав, отошел от него. Князю Андрею было грустно и тяжело. Всё это было так странно, так непохоже на то, чего он надеялся.

«Кто они? Зачем они? Что им нужно? И когда всё это кончится?» думал Ростов, глядя на переменявшиеся перед ним тени. Боль в руке становилась всё мучительнее. Сон клонил непреодолимо, в глазах прыгали красные круги, и впечатление этих голосов и этих лиц и чувство одиночества сливались с чувством боли. Это они, эти солдаты, раненые и нераненые, – это они то и давили, и тяготили, и выворачивали жилы, и жгли мясо в его разломанной руке и плече. Чтобы избавиться от них, он закрыл глаза.
Он забылся на одну минуту, но в этот короткий промежуток забвения он видел во сне бесчисленное количество предметов: он видел свою мать и ее большую белую руку, видел худенькие плечи Сони, глаза и смех Наташи, и Денисова с его голосом и усами, и Телянина, и всю свою историю с Теляниным и Богданычем. Вся эта история была одно и то же, что этот солдат с резким голосом, и эта то вся история и этот то солдат так мучительно, неотступно держали, давили и все в одну сторону тянули его руку. Он пытался устраняться от них, но они не отпускали ни на волос, ни на секунду его плечо. Оно бы не болело, оно было бы здорово, ежели б они не тянули его; но нельзя было избавиться от них.
Он открыл глаза и поглядел вверх. Черный полог ночи на аршин висел над светом углей. В этом свете летали порошинки падавшего снега. Тушин не возвращался, лекарь не приходил. Он был один, только какой то солдатик сидел теперь голый по другую сторону огня и грел свое худое желтое тело.