== Roadmap == The following is the high level roadmap of the Netsukuku project. * accurate study, tests and enhancement of the performance of the Netsukuku addressing system: the hierarchical topology of Netsukuku is dependent on the addresses associated to each node. Since the network is dynamic, the addresses can change over time, thus the topology must be updated. When the topology changes, other parts of the network must be updated too, f.e. the routing tables of the affected nodes. Therefore, an efficient minimisation of the number of topology updates is critical for the success and scalability of the Netsukuku network. See http://netsukuku.freaknet.org/doc/main_doc/topology.pdf * addressing algorithms that minimise the measurement inaccuracies: the hierarchical topology helps to organise a large number of nodes, however this structure hides some information about the routes; as a consequence, the routing table known by a node is an approximation of the best absolute routing table available to it. The approximation is dependent on the particular addresses assigned to each node, therefore it is possible to develop methods that minimise it. See http://netsukuku.freaknet.org/doc/main_doc/topology.pdf * software implementation of ANDNA: a distributed, non hierarchical and decentralised system of hostname management. See http://netsukuku.freaknet.org/doc/main_doc/andna.pdf http://netsukuku.freaknet.org/doc/main_doc/ntk_rfc/Ntk_p2p_over_ntk.pdf and http://dev.hinezumi.org/browser/netsukuku/trunk/pyntk/ntk/core/p2p.py * secure QSPN: a node could easily forge an entry in the routing table of a neighbouring node, injecting false information about links in the network. The attack would just create a temporary local damage, thanks to the distributed nature of the QSPN. However the optimal solution is to prevent these attacks using a cryptographic signature scheme. See http://netsukuku.freaknet.org/doc/main_doc/qspn.pdf * first release of stable, minimal implementation of the Python Netsukuku software * software implementation of Viphilama, an Internet tunnelling system that connects nodes which aren't physically linked. See http://netsukuku.freaknet.org/doc/main_doc/ntk_rfc/Ntk_viphilama * software implementation of a system of distributed Internet connections through Netsukuku: a node can connect to the Internet using, at the same time, multiple nodes which are sharing their connection. See http://netsukuku.freaknet.org/doc/main_doc/ntk_rfc/Ntk_IGS * improvement, test and implementation of the Caustic Routing: the multipath routing is a method which sends packets of a same connection through different paths. Caustic Routing is a multipath generalization which aims to redistribute the network traffic in an efficient way, imposing a small load on the interested nodes. See http://netsukuku.freaknet.org/doc/main_doc/ntk_rfc/Ntk_caustic_routing * experimental tests * Ultimate the incomplete RFCs: [[Netsukuku_RFC]] * Update and translate the documentation == TODO list == You can find more specific TODOs here: * In the PDF documents, look for the "TODO" paragraph * http://dev.hinezumi.org/browser/netsukuku/trunk/pyntk/TODO * http://dev.hinezumi.org/browser/netsukuku/trunk/proto/TODO