{{{ Netsukuku :: Close the world, txEn eht nepO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Author: Andrea 'Alpt' Lo Pumo Author: (hereby presented by Jaromil) Medien.kunstlabor Graz Date: Sep 15 2007 http://www.netsukuku.org http://www.freaknet.org http://www.dyne.org _ _ _ _ _ | \| | ___ | |_ ___ _ _ | |__ _ _ | |__ _ _ | .` |/ -_)| _|(_-<| || || / /| || || / /| || | |_|\_|\___| \__|/__/ \_,_||_\_\ \_,_||_\_\ \_,_| ******************************************** In short, Netsukuku is an autoconfigurable Internet: protocols such as BGP, OSPF, RIP, are substituted by a single scalable structure, which doesn't require any external interventions. Moreover, the whole Netsukuku is a mesh network: every node acts as a router. Thanks to this feature it can be easily used to build a worldwide distributed, anonymous and not controlled network, separated from the Internet, without the support of any servers, ISPs or control authorities. _ _ __ __ _ /_\ | | __ _ _ _ __ _ ___ | \/ | ___ ___| |_ / _ \ | |__ / _` || '_|/ _` |/ -_) | |\/| |/ -_)(_-<| ' \ /_/ \_\ |____|\__,_||_| \__, |\___| |_| |_|\___|/__/|_||_| |___/ ******************************************** Currently there are a wide number of dynamic routing protocols, but they are solely utilised to create small and medium nets. Instead, the routers of Internet are managed by different protocols such as the OSPF, the RIP, or the BGP. All these protocols require a very high waste of CPU and memory. Indeed, the Internet routers are computers specifically dedicated to the executions of these protocols. It would be impossible to implement one of these protocols to create and maintain a mesh network large as the whole Internet. http://netsukuku.freaknet.org/index.php?pag=documentation&dir=main_documentation http://netsukuku.freaknet.org/doc/main_doc/ _ ___ _ _ _ _ _ /_\ | __|_ _ __ _ __ | |_ __ _ | | | \| | ___ | |_ / _ \ | _|| '_|/ _` |/ _|| _|/ _` || | | .` |/ -_)| _| /_/ \_\ |_| |_| \__,_|\__| \__|\__,_||_| |_|\_|\___| \__| ******************************************** Netsukuku is a mesh network built on top of its own dynamic routing protocol. The Netsukuku protocol structures the entire net as a fractal and, in order to calculate all the needed routes it makes use of a particular algorithm called QSPN (Quantum Shortest Path Netsukuku). The particular structure of the Netsukuku topology, permits to every node to store its whole Netsukuku map in just few Kilobytes. On the other hand, the QSPN is an algorithm that has to be executed by the network itself. The nodes, in order to execute it, have just to send and receive the Tracer Packets, without using heavy computational resources (in short, the QSPN is a sort of distance-vector routing algorithm) ___ ___ ___ | _ \ ___ ___ _ _ |_ ) | _ \ ___ ___ _ _ | _// -_)/ -_)| '_| / / | _// -_)/ -_)| '_| |_| \___|\___||_| /___| |_| \___|\___||_| ******************************************** Netsukuku is a distributed, collaborative network of nodes. For this reason, the development of P2P applications over Netsukuku is rather easy. A P2P application over Ntk can directly access the information regarding every part of the network by reading the maps and can known immediately its dynamic changes by listening to QSPN packets. In order to ease the development of such applications, a "ntkp2p" library will be developed. The NTK RFC 0014 describes how is it possible to create a distributed P2P service over the Netsukuku network. As example, a distributed P2P Bittorrent service is presented. RFC http://netsukuku.freaknet.org/2html/documentation/main_documentation/ntk_rfc/Ntkp2p_over_ntk.pdf _ _ _ ___ _ _ _ /_\ | \| | | \ | \| | /_\ / _ \ | .` | | |) | | .` | / _ \ /_/ \_\ |_|\_| |___/ |_|\_| /_/ \_\ ******************************************** The Abnormal Netsukuku Domain Name Anarchy is the distributed, non hierarchical and decentralised system of hostname management used in the Netsukuku network. It substitutes the DNS. The ANDNA database is scattered inside all Netsukuku network. In the worst case, every node will have to use few hundred kilobytes of memory. It is basically a p2p service naturally built over netsukuku It permits to every node to register, freely, a maximum of 256 hostnames. ANDNA: http://netsukuku.freaknet.org/doc/main_doc/andna.pdf __ __ _ _ _ _ \ \ / /(_) _ __ | |_ (_)| | __ _ _ __ __ _ \ V / | || '_ \| ' \ | || |/ _` || ' \ / _` | \_/ |_|| .__/|_||_||_||_|\__,_||_|_|_|\__,_| |_| ******************************************** The Virtual to Physical Layer Mapper solves the compatibility issues with BGP and OSPF. Viphilama stands for Virtual to Physical Layer Mapper. The basic idea of Viphilama is to connect, with Internet tunnels, nodes which aren't physically linked. Then whenever, Viphilama finds that a virtual link can be replaced by a physical one, it removes the virtual link. Viphilama transforms Netsukuku into a hybrid overlay network which expands the original structure of the Internet. http://netsukuku.freaknet.org/2html/documentation/main_documentation/inetntk.pdf ___ _ _ / __|| |_ __ _ | |_ _ _ ___ \__ \| _|/ _` || _|| || |(_-< |___/ \__|\__,_| \__| \_,_|/__/ ******************************************** Netsukuku is being developed since more than 2 years and as of today has just been rewritten the second time, adopting Python as the language for a new modularized structure, still efficient enough for embedded hardware solutions, while core components keep on being implemented in C. Request For Comments about Netsukuku http://lab.dyne.org/Netsukuku_RFC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * NTK_RFC 0014 P2P over Netsukuku Ntk p2p over ntk (done) * NTK_RFC 0013 Caustic Routing Ntk caustic routing * NTK_RFC 0012 Net Split Ntk net split * NTK_RFC 0011 Carciofo Ntk carciofo * NTK_RFC 0010 Viphilama Ntk viphilama * NTK_RFC 0009 SNSD Ntk SNSD * NTK_RFC 0008 Restricted IP classes Ntk restricted ip classes (deprecated) * NTK_RFC 0007 Andna counter pubk: Ntk andna counter pubk * NTK_RFC 0006 Andna and dns: Ntk andna and dns * NTK_RFC 0005 Life probability: Ntk life probability * NTK_RFC 0004 Mail Exchange request: Ntk MX request (deprecated) * NTK_RFC 0003 Internet gateways search: Ntk IGS * NTK_RFC 0002 Bandwidth measurement: Ntk bandwidth measurement * NTK_RFC 0001 Gnodes contiguity: Ntk gnodes contiguity ___ _ _ / __|| |_ __ _ | |_ _ _ ___ \__ \| _|/ _` || _|| || |(_-< |___/ \__|\__,_| \__| \_,_|/__/ ******************************************** Implementation status * NTK_RFC 0001 [ 50% ] * NTK_RFC 0002 [ 00% ] * NTK_RFC 0003 [ 90% ] * NTK_RFC 0004 [100% ] (deprecated by NTK_RFC 0009) * NTK_RFC 0005 [ 00% ] * NTK_RFC 0006 [100% ] * NTK_RFC 0007 [100% ] * NTK_RFC 0008 [100% ] (deprecated by NTK_RFC 0012) * NTK_RFC 0009 [ 90% ] * NTK_RFC 0010 [ 05% ] * NTK_RFC 0011 [ 00% ] * NTK_RFC 0012 [ 00% ] * NTK_RFC 0013 [ 00% ] * NTK_RFC 0014 [100% ] Contributes to development are very welcome ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ more to come: Hackmeeting 0x0A in Pisa 28-29-30 sept. Thanks! A thousand flowers will blossom! }}}