Differences between revisions 8 and 18 (spanning 10 versions)
Revision 8 as of 2008-06-26 10:06:06
Size: 579
Editor: anonymous
Comment: converted to 1.6 markup
Revision 18 as of 2009-09-18 18:23:05
Size: 3297
Editor: alpt
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== TODO == == Roadmap ==
Line 3: Line 3:
 * Parallelizable [[http://hinezumilabs.org/cgi-bin/viewcvs.cgi/*checkout*/netsukuku/src/TOCODE?rev=HEAD&content-type=text/plain|TODOs]] The following is the high level roadmap of the Netsukuku project.
Line 5: Line 5:
 * [[http://hinezumilabs.org/cgi-bin/viewcvs.cgi/*checkout*/netsukuku/src/TODO?rev=HEAD&content-type=text/plain|Source code TODOs]]  * 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
Line 9: Line 25:
 * Beta testing  * Update and translate the documentation
Line 11: Line 27:
 * Write more documentation == TODO list ==
Line 13: Line 29:
 * Translate the documentation

 * Draw pictures to explain the basic concepts of the procotol

 * Animation of the various mechanisms of the Npv7

 * Looking for new TODOs, bugs
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

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:

Ntk_TODO (last edited 2009-09-18 18:23:05 by alpt)