Netsukuku

Netsukuku
Netsukuku
Logo netsukuku.jpg
Тип

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

Разработчик

Команда разработчиков Netsukuku

Написана на

Python, Vala[1]

Операционная система

Linux

Последняя версия

0.0.9b (12 апреля 2011)

Тестовая версия

0.1.0b (2012-06-25 09:11:12)

Лицензия

GNU General Public License

Сайт

http://netsukuku.freaknet.org/

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

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

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

Содержание

Реализация

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

NETSUKUKU, будучи распределённой и децентрализованной сетью, может создавать реально распределённые системы, как Abnormal Netsukuku Domain Name Anarchy[неизвестный термин], которая будет заменять современную иерархию системы DNS.

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».

Примечания

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Netsukuku" в других словарях:

  • Netsukuku — is the name of an experimental peer to peer routing system, developed by the FreakNet MediaLab (Italian), created to build up a distributed network, anonymous and censorship free, fully independent but not necessarily separated from Internet,… …   Wikipedia

  • Netsukuku — es el nombre de un sistema de routing experimental de tipo peer to peer, desarrollado por el laboratorio FreakNet MediaLab, diseñado para construir una red distribuida, anónima y anárquica, no necesariamente separada de la Internet, sin el… …   Wikipedia Español

  • Netsukuku — est un réseau maillé, ou un système P2P qui se crée et entretient son fonctionnement de façon autonome, c est à dire un concurrent d internet (TCP/IP en fait), tel que le grand public le connait. Il est conçu pour gérer un nombre illimité de… …   Wikipédia en Français

  • SNSD (netsukuku) — The Scattered Name Service Disgregation (SNSD) is the ANDNA equivalent of the SRV Record of the Internet Domain Name System, which is defined by RFC 2782.SNSD isn t the same as the SRV Record , it has its own unique features.With SNSD it is… …   Wikipedia

  • ANDNA — (Abnormal Netsukuku Domain Name Anarchy) is the distributed, non hierarchical and decentralised system ofhostname management in Netsukuku. It substitutes the DNS.The ANDNA database is scattered inside all Netsukuku network. In the worst case,… …   Wikipedia

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

  • Файлообменная сеть — Файлообменная сеть  собирательное название одноранговых компьютерных сетей для совместного использования файлов, основанных на равноправии участвующих в обмене файлами, то есть каждый участник одновременно является и клиентом, и… …   Википедия

  • P2P anonyme — Attention : cette page, provenant de la Wikipédia anglophone, est en cours de traduction et d aménagement ! Un travail de restructuration et de synthèse serait nécessaire. Un système de communications P2P anonyme est un réseau pair à… …   Wikipédia en Français

  • Фрактал — Множество Мандельброта  классический образец фрактала …   Википедия

  • Peer-to-peer — Not to be confused with point to point. This article is about peer to peer computing. For other uses, see Peer to peer (disambiguation). A peer to peer system of nodes without central infrastructure …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»