Luca Dionisi | 2 Mar 12:23 2016


FYI I moved my repositories on GitHub.

Netsukuku mailing list
Netsukuku <at>
Luca Dionisi | 24 Nov 10:26 2015


It's been a year since I wrote on this mailing list that I was going to rewrite the code from scratch for Netsukuku version 2.0.

I have already written about the reasons for this decision: make the code more modular; make every module well-documented, independent, easy to test and debug; facilitate the development and the test of new approaches to solve the critical issues.

Most of this year I worked full-time on this project. The implementation is taking more time than I had planned. But this does not surprise me, I often do not guess the timings.

Overall I am happy with the results made until now, both design docs and code [0] [1]. I believe that the finish line is approaching. I predict another 6 months of work or a bit more.

When the code will be complete, and after some trial on the field, I intend to prepare some low cost devices that will just work out-of-the-box.

That's all. Let me remind you that donations are welcome to the usual bitcoin address [2].



Netsukuku mailing list
Netsukuku <at>
Luca Dionisi | 16 Jul 10:06 2015

Simulation report

Talking about Netsukuku v2.0 written in Vala.

The 'qspn' module is in a good shape.
I wrote a simulator to verify its functioning.

In my laptop I simulated a random graph of 35 nodes in a flat addressing space (levels=1). In the simulated run of 'qspn' I set a maximum of 5 disjoint paths for each destination.
After 64 seconds all the nodes completed their work and each node knew its routes.

Then I passed to simulate a random graph of 35 nodes in an addressing space with 6 levels of 1 bit (gsize=2 at each level). Same setting of 5 max paths.
After 9 seconds all the nodes completed their work and each node knew its routes.

My laptop is not high-end. It has a quad core i3 at 2.10 GHz. And the simulator uses just one core.

Just saying. Anyway the release is still far. Maybe 1st Q of 2016.


Netsukuku mailing list
Netsukuku <at>
behrouz khosravi | 11 Jul 19:28 2015

looking help for my master thesis

Hello everyone. I need to find a subject for my masters thesis
and I am very fond of idea of free decentrilazed network.
My bachler degree was in electronic and my master is communication enginerring.
Any ideas?

Netsukuku mailing list
Netsukuku <at>
Ĥoroŝilov Aleksandro | 26 Jan 11:59 2015


Due to the short-sightedness of programmers beginning of the computer era we now have the dominance of English.
And it looks like you go the same way. 
In addition, it seems you do not think about the consequences of your project. Therefore, I bring to your attention.
The same applies to you!
"La homoj rajtas havi sekretojn, sed tiuj senpere ne devas esti kontraŭevoluaj aŭ direktitaj al subremo
de unu homgrupo alian homgrupon.
Kaj elire el tio mi certas, ke iu ajn simila minoritato devos finfine elekti: аŭ ĝi reedukiĝas, аŭ
ĝin probable atendas la sorto iĝi la manĝo por grandaj rabobestoj."
All future evils of humankind will be on your conscience, if you do not will join to the movement for a new civilization.


Netsukuku mailing list
Netsukuku <at>
Luca Dionisi | 24 Nov 12:28 2014

next release of Netsukuku

The next release of Netsukuku shall have the following objectives:

1. make the code more modular; the modules must be able to operate
each one independently from the others, each one just exposes a well
described interface to the others.

2. document for each module:
    * a design document (what it has to accomplish and why);
    * the interface that the module must expose to the outside;
    * technical implementation details.

3. more closely reflect the original specifications (i.e. the QSPN
document that you can read on the official site and Aplt's master
thesis "Scalable Mesh Networks and The Address Space Balancing
    * document in detail any additional module and explain why it is needed.

4. implement better strategies (some new ideas) for the following
critical issues:
    * initial hook of a node.
    * splitting of a g-node.
    * migration of an entire g-node while keeping in each node its
knowledge of routes inside the g-node.
    * mechanism, during the migration of a g-node, to keep safe any
open TCP connection inside the g-node itself, because the graph does
not change inside.
    * splitting of the network.
    * merge two separate networks while keeping the knowledge of both
graphs already explored.

5. implement new features:
    * mechanism for any node to request to be anonymized during the
forwarding of its packets to any destination; as a result of this, we
get the feasibility of a peer-to-peer service that makes "anonymous
servers" contactable.

With reference to points 1 and 2, we wish to achieve these goals for
the following reasons:
A. Make possible automated and systematic testing of the functionality
of each module of the software.
B. Facilitate the insertion of new developers and allow the breakdown
of tasks and doing them in parallel.

To achieve these objectives it is necessary to rewrite almost from
scratch most of the code. Yep, I am serious about that, but don't be
alarmed, I swear it will be shorter and more readable than now!

I have already started this process.

Soon I will publish the first design documents of the single modules.
Since those documents may require frequent changes during the
development of the software, I will write them in Italian. They will
be translated into English only if/when there is a
(non-italian-speaking) developer seriously determined to contribute to
the project.
For the moment the documents will be published in the wiki.

Netsukuku mailing list

Luca Dionisi | 29 Jul 19:21 2014

1.0 release

A bit in advance, I release version 1.0 of Netsukuku.

At this page I wrote some notes so that you know what you can and cannot expect from this release.

I've put the tarballs again at:

Instructions for ubuntu and openwrt have their pages:


Netsukuku mailing list
Luca Dionisi | 2 Jun 14:35 2014


I released version 0.9.1
It is to correct a malfunction in the dns-to-andna redirector, that appeared in a openwrt device.
I consequently updated instructions on wiki.

Netsukuku mailing list
Luca Dionisi | 3 May 17:57 2014

netsukuku beta

I hereby release the first beta version of netsukuku.

The suite of programs and libraries is composed of 6 packages. The tarballs can
be downloaded from the following links.

Instructions to download, build and install on a ubuntu machine are located here:

It is possible to install and run also in a router running OpenWRT.
Instructions are provided that guide you to the compilation and flashing of a
fresh new firmware with the programs and libraries already installed.

Maybe, a new web site will come up soon.

My next step will be wait for your feedback. Report bugs, request details on
documentation, ask for inclusion of features and the like. All of this please
send to the following mailing list:

The first final version of netsukuku (1.0) will be released on August 1st.
During this time I will add features. When bugs are reported I will try and
fix them and release as soon as possible, e.g. version 0.9.1.


Netsukuku mailing list
a310 p0 | 4 Apr 15:55 2014

missing link -- RFC Ntk_NDN


I have read the news on the homepage ( ).
I could not understand the first point which I am quoting here:


        1. CCNx prototype of NDN protocol:
          comment: the project is a bit hyped-style ("we are the world"),
          but there is a good international effort on it, could be good as
          a way to have Ntk engaged in a larger context.


I found the "RFC" .

It is very insightful and by reading it I understood what was meant by
"CCNx prototype

of NDN protocol".

Please, to make the message clearer to the readers, the sentence should

contain a link to  rather than .


P.S.  the link  -- --
 on and on should be changed to  -- -- as
the former link points to a 404 NOT FOUND page, while the latter works
Netsukuku mailing list

Luca Dionisi | 4 Apr 10:17 2014

ANDNS protocol

Netsukuku (the Vala port) now has a server implementation of the ANDNS
protocol [0]. It runs inside the ntkd daemon.

There is the library libntkresolv. This implements the client part of
ANDNS protocol. This library (and the tools below) can be used also by
a computer that is not running the ntkd daemon, that is, a computer
that is not part of the netsukuku network. Only requirement is that
you have a route to reach a node that is part of it.

There is a tool named ntk-resolv that depends on libntkresolv. The
user can use it to query the ANDNA distributed database.

There is the library libnss_andna. This is a module, again dependent
on libntkresolv, that the GNU Name Service Switch (part of the GNU C
library) can use as a mean to resolv a computer name. This means that
a program calling gethostbyname (or the newer getaddrinfo) is able to
resolv names of the ANDNA domain (as long as it runs on a GNU system).

Still missing is a wrapper acting as a DNS server that transforms a
DNS request into a ANDNS one and pass it to a ANDNS server. And then
passes back the answers.

So, the packages forming the suite are now:
 tasklet [1]
    lightweight cooperative multithread system.
 zcd [2]
    zero configuration dispatchers: framework for remote procedure calls.
 netsukuku-rpc [3]
    model for the rpc; the messages that the daemon exchanges with
other nodes forming the netsukuku.
 andns-rpc [4]
    model for the rpc; the ANDNS protocol is based on it.
 ntkresolv [5]
    client part of ANDNS protocol; tools.
 netsukuku [6]
    the daemon.

I will, as time permits, prepare packages for openwrt and update the
instructions [7].

[1] bzr://
[2] bzr://
[3] bzr://
[4] bzr://
[5] bzr://
[6] bzr://
Netsukuku mailing list