Artifact [c1f4d0e565]
Not logged in

Artifact c1f4d0e565fd5e5efb27c8c8c45920c096ab5d18:

Wiki page [net2o] by bernd 2014-07-03 12:20:53.
D 2014-07-03T12:20:53.908
L net2o
P 46b2e4e8895a6c4b135f124cccea880e9dfaf232
U bernd
W 4680
<h1>net2o - reinventing the Internet</h1>

<p>net2o is the attempt to reinvent the Internet.</p>

<h2>What's broken?</h2>
<ul>
<li>The internet bases on assumptions 20-30 years old</li>
<li>These assumptions are wrong today</li>
<li>Much of it followed the "good enough" principle</li>
<li>There's a huge pile of accumulated cruft</li>
<li>Fixing this mess one-by-one is the wrong attempt</li>
</ul>

<h2>What for?</h2>

<p>I've a dream: A peer-to-peer network, where services like search engines or
social networks aren't offered by big companies, who in turn need to make money
by selling the privacy of their users. Where all data is encrypted, so that
access is only possible for people who have the key and really are authorized.
Which layman can use without cryptic user interfaces. Where the browser is a
platform for running useful applications without the mess of Flash and
JavaScript. Without the lag of "buffer bloat" and without the speed problems of
a protocol not designed to be assisted by hardware.</p>

<h2>What needs to be fixed?</h2>
<ul>
<li>IP: Use switch-based simple routing, don't route every packet</li>
<li>TCP: Most data just needs to be obtained reliable, the order doesn't
matter. And TCP's flow control is broken (delay minimized is the way to go).</li>
<li>Encryption everywhere: This is no longer an expensive operation (and for
symmetric encryption, fast hardware implementation is feasible)</li>
<li>P2P instead of client-server</li>
<li>A new API (render layer, markup language, scripting) - the browser is there
for serious applications now.</li>
</ul>

<p>Rendering is done with OpenGL ES, GUI layer is
<a href="https://fossil.net2o.de/minos2">MINOΣ 2</a>.</p>

<p>net2o has been inspired by Open Network Forth from Heinz Schnitter.</p>

<h2>What third party technology do we use</h2>
<ul>
<li><a href="/net2o/wiki?name=ed25519">ed25519</a> from Dan Bernstein (in the
donna version from floodberry)</li>
<li><a href="http://keccak.noekeon.org/">Keccak</a>&nbsp;(original reference
implementation)<br>
</li>
<li>(<a href="/net2o/wiki?name=wurstkessel">wurstkessel</a> from myself - now
replaced by Keccak)</li>
</ul>

<h2>How to build it</h2>

<p>You need: A Linux machine; with some luck, you get it to run on Mac OS X, as
well.</p>

<p>You want to have the following packets installed: git automake autoconf make
gcc libtool libltdl7 (libtool-ltdl on RedHat/Centos)</p>

<p>Get the&nbsp;<a href="https://fossil.net2o.de/net2o/finfo?name=do">do</a>&nbsp;file
(latest revision), put it into your net2o folder, and let it run. &nbsp;You
need <a href="http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki">fossil</a>&nbsp;(and
git) as SCM, get the latest from the fossil homepage. &nbsp;You don't need to
cut'n'paste the whole script, just do the fossil clone+open, then you get your
own do script.&nbsp;&nbsp;This script will ask for your root password to
install Gforth and the two libraries mentioned above. &nbsp;After completion,
you can run a test:</p>
<pre><font face="Courier New" size="3">gforth-fast server-test.fs &amp; gforth-fast client-test.fs localhost &gt;timing</font></pre>
<pre><font face="Courier New" size="3">gnuplot -p -e 'load "doc/timing.plt";'</font></pre>

<h2>Documentation</h2>

<p>The documentation is work in progress. The seven layers of net2o are not
equal to the ISO-OSI layers, but this layering provides a familiar starting
point:</p>
<ol>
<li>Physical layer - this is not part of net2o itself.</li>
<li><a href="/net2o/wiki?name=topology">Topology</a><br>
</li>
<li><a href="/net2o/wiki?name=encryption">Encryption</a><br>
</li>
<li><a href="/net2o/wiki?name=flow-control">Flow Control</a><br>
</li>
<li><a href="/net2o/wiki?name=commands">Commands</a><br>
</li>
<li><a href="/net2o/wiki?name=distributed-data">Distributed Data</a><br>
</li>
<li><a href="/net2o/wiki?name=applications">Applications</a><br>
</li>
</ol>

<h2>Discussions</h2>
<ul>
<li>The <a href="/net2o/wiki?name=pki">pki</a> problem</li>
<li><a href="/net2o/wiki?name=client-auth">Client authentication</a></li>
<li><a href="/net2o/wiki?name=handover">Handover</a></li>
<li><a href="/net2o/wiki?name=ack+cookies">Ack cookies</a></li>
<li><a href="/net2o/wiki?name=key-format">Key format</a><br>
</li>
<li><a href="/net2o/wiki?name=keyrevokation">Key revocation</a><br>
</li>
<li><a href="/net2o/wiki?name=nsa-backdoor">NSA backdoor</a><br>
</li>
<li><a href="/net2o/wiki?name=onion-routing">Onion Routing</a><br>
</li>
</ul>

<p><a href="/net2o/wiki?name=net2o.de">de</a>
<a href="/net2o/wiki?name=net2o.zh">中文</a></p>

Z b9672e307e4ec8d9ea9fca2cc7a89e92