Files
i2p.www/www.i2p2/pages/how.html

213 lines
8.1 KiB
HTML
Raw Normal View History

2008-01-31 20:38:37 +00:00
{% extends "_layout.html" %}
2010-08-08 13:45:30 +00:00
{% block title %}Index to Technical Documentation{% endblock %}
2008-02-03 02:46:04 +00:00
{% block content %}
<h1>How does I2P work?</h1>
2010-08-08 13:45:30 +00:00
<p>
Following is an index to the technical documentation for I2P.
2012-01-02 13:50:52 +00:00
This page was last updated in January 2012 and is accurate for router version 0.8.11.
2010-08-08 13:45:30 +00:00
</p><p>
This index is ordered from the highest to lowest layers.
The higher layers are for "clients" or applications;
the lower layers are inside the router itself.
The interface between applications and the router is the I2CP (I2P Control Protocol) API.
</p><p>
The I2P Project is committed to maintaining accurate, current documentation.
If you find any inaccuracies in the documents linked below, please
2010-11-26 17:26:57 +00:00
<a href="http://trac.i2p2.de/report/1">enter a ticket identifying the problem</a>.
2011-06-19 20:42:58 +00:00
</p>
2010-08-08 13:45:30 +00:00
<h2>Index to Technical Documentation</h2>
<h3>Overview</h3>
2009-06-12 20:09:21 +00:00
<ul class="helplist">
2010-08-08 13:45:30 +00:00
<li><a href="techintro.html">Technical Introduction</a></li>
<li><a href="how_intro.html">A Less-Technical Introduction</a></li>
2010-08-28 22:30:59 +00:00
<li><a href="how_threatmodel.html">Threat model and analysis</a></li>
2010-08-08 13:45:30 +00:00
<li><a href="how_networkcomparisons.html">Comparisons to other anonymous networks</a></li>
2010-08-14 17:27:15 +00:00
<li><a href="protocols.html">Protocol stack chart</a></li>
<li><a href="papers.html">Papers and Presentations on I2P</a></li>
2011-11-19 16:05:39 +00:00
<li><a href="/_static/pdf/i2p_philosophy.pdf">Invisible Internet Project (I2P) Project Overview</a> August 28, 2003 (pdf)</li>
</ul>
2010-08-08 13:45:30 +00:00
<h3>Application-Layer Topics</h3>
<ul>
<li><a href="naming.html">Naming and Addressbook</a></li>
<li><a href="plugins.html">Plugins Overview</a></li>
<li><a href="plugin_spec.html">Plugin Specification</a></li>
2010-08-14 17:27:15 +00:00
<li><a href="updates.html">Router software updates</a></li>
<li><a href="bittorrent.html">Bittorrent over I2P</a></li>
2011-07-27 18:44:50 +00:00
<li><a href="i2pcontrol.html">I2PControl Plugin API</a></li>
2010-08-08 13:45:30 +00:00
</ul>
2011-05-30 16:32:44 +00:00
<h3>Application Layer API and Protocols</h3>
2010-08-08 13:45:30 +00:00
High-level, easy-to-use APIs for applications written in any language to send and receive data.
<ul><li>
<a href="applications.html">Application Development Overview and Guide</a>
</li><li>
<a href="i2ptunnel.html">I2PTunnel</a>
</li><li>
<a href="socks.html">SOCKS Proxy</a>
</li><li>
HTTP Proxy
</li><li>
2011-05-16 20:51:49 +00:00
CONNECT Proxy
</li><li>
2010-08-08 13:45:30 +00:00
IRC Proxy
</li><li>
2011-05-16 20:51:49 +00:00
SOCKS IRC Proxy
</li><li>
Streamr Proxy
</li><li>
HTTP Bidir Proxy
</li><li>
2011-05-30 16:32:44 +00:00
<a href="sam.html">SAM Protocol</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-05-30 16:32:44 +00:00
<a href="samv2.html">SAMv2 Protocol</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-05-30 16:32:44 +00:00
<a href="samv3.html">SAMv3 Protocol</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-05-30 16:32:44 +00:00
<a href="bob.html">BOB Protocol</a>
2010-08-08 13:45:30 +00:00
</li></ul>
<h3>End-to-End Transport API and Protocols</h3>
2010-08-08 19:52:09 +00:00
The end-to-end protocols used by clients for reliable and unreliable communication.
2010-08-08 13:45:30 +00:00
<ul><li>
<a href="streaming.html">Streaming Library</a>
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/package-summary.html">Streaming Javadoc</a>
2010-08-08 13:45:30 +00:00
</li><li>
<a href="datagrams.html">Datagrams</a>
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/client/datagram/package-summary.html">Datagram Javadoc</a>
2010-08-08 13:45:30 +00:00
</li></ul>
<h3>Client-to-Router Interface API and Protocol</h3>
The lowest-level API used for clients (applications) to send and receive traffic to a router.
Traditionally used only by Java applications and higher-level APIs.
<ul><li>
<a href="i2cp.html">I2CP</a> I2P Control Protocol / API overview
</li><li>
<a href="i2cp_spec.html">I2CP Specification</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/client/package-summary.html">I2CP API Javadoc</a>
2010-08-08 13:45:30 +00:00
</li><li>
<a href="common_structures_spec.html">Common data structures specification</a>
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/package-summary.html">Data Structures Javadoc</a>
2010-08-08 13:45:30 +00:00
</li></ul>
<h3>End-to-End Encryption</h3>
How client messages are end-to-end encrypted by the router.
<ul>
<li><a href="how_elgamalaes">ElGamal/AES+SessionTag</a> encryption</li>
<li><a href="how_cryptography.html">ElGamal and AES cryptography details</a></li>
</ul>
<h3>Network Database</h3>
Distributed storage and retrieval of information about routers and clients.
<ul>
<li><a href="how_networkdatabase.html">Network database overview, details, and threat analysis</a></li>
<li><a href="how_cryptography.html#SHA256">Cryptographic hashes</a></li>
<li><a href="how_cryptography.html#DSA">Cryptographic signatures</a></li>
</ul>
<h3>Router Message Protocol</h3>
I2P is a message-oriented router. The messages sent between routers are defined by the I2NP protocol.
<ul><li>
<a href="i2np.html">I2NP</a> I2P Network Protocol Overview
</li><li>
<a href="i2np_spec.html">I2NP Specification</a>
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2np/package-summary.html">I2NP Javadoc</a>
2010-08-08 13:45:30 +00:00
</li><li>
<a href="common_structures_spec.html">Common data structures specification</a>
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/data/package-summary.html">Data Structures Javadoc</a>
2010-08-08 13:45:30 +00:00
</li></ul>
<h3>Tunnels</h3>
Selecting peers, requesting tunnels through those peers, and encrypting and routing messages through these tunnels.
<ul>
<li><a href="how_peerselection.html">Peer profiling and selection</a></li>
2010-08-24 01:48:03 +00:00
<li><a href="how_tunnelrouting.html">Tunnel routing overview</a></li>
<li><a href="how_garlicrouting.html">Garlic routing and "garlic" terminology</a></li>
2010-08-08 13:45:30 +00:00
<li><a href="tunnel-alt.html">Tunnel building and encryption</a></li>
2010-08-24 01:48:03 +00:00
<li><a href="how_elgamalaes.html">ElGamal/AES</a> for build request encryption</li>
2010-08-08 19:52:09 +00:00
<li><a href="how_cryptography.html">ElGamal and AES cryptography details</a></li>
2010-08-08 13:45:30 +00:00
<li><a href="tunnel-alt-creation.html">Tunnel building specification</a></li>
<li><a href="tunnel_message_spec.html">Low-level tunnel message specification</a></li>
2011-07-27 18:44:50 +00:00
<li><a href="unidirectional-tunnels.html">Unidirectional Tunnels</a></li>
2011-11-19 16:05:39 +00:00
<li><a href="/_static/pdf/I2P-PET-CON-2009.1.pdf">Peer Profiling and Selection in the I2P Anonymous Network</a>
2009 paper (pdf), not current but still generally accurate</li>
2010-08-08 13:45:30 +00:00
</ul>
<h3>Transport Layer</h3>
The protocols for direct (point-to-point) router to router communication.
<ul><li>
2010-08-25 18:15:06 +00:00
<a href="transport.html">Transport layer overview</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-09-14 15:14:11 +00:00
<a href="ntcp.html">NTCP</a> TCP-based transport overview and specification
2010-08-08 13:45:30 +00:00
</li><li>
<a href="udp.html">SSU</a> UDP-based transport overview
</li><li>
<a href="udp_spec.html">SSU specification</a>
</li><li>
2010-08-08 19:52:09 +00:00
<a href="how_cryptography.html#tcp">NTCP transport encryption</a>
2010-08-08 13:45:30 +00:00
</li><li>
2010-08-08 19:52:09 +00:00
<a href="how_cryptography.html#udp">SSU transport encryption</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/package-summary.html">Transport Javadoc</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/ntcp/package-summary.html">NTCP Javadoc</a>
2010-08-08 13:45:30 +00:00
</li><li>
2011-06-26 19:09:30 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/udp/package-summary.html">SSU Javadoc</a>
2010-08-08 13:45:30 +00:00
</li></ul>
<h3>Other Router Topics</h3>
<ul><li>
2010-08-22 02:18:28 +00:00
<a href="jbigi.html">Native BigInteger Library</a>
</li><li>
2010-08-08 13:45:30 +00:00
Time synchronization and NTP
2010-08-24 01:48:03 +00:00
</li><li>
2012-01-02 13:50:52 +00:00
<a href="performance.html">Performance</a> (not current)
2010-08-08 13:45:30 +00:00
</li></ul>
2012-01-02 13:50:52 +00:00
<h3>Developer's Guides and Resources</h3>
2010-08-09 01:50:42 +00:00
<ul><li>
<a href="newdevelopers.html">New Developer's Guide</a>
</li><li>
<a href="newtranslators.html">New Translator's Guide</a>
</li><li>
2010-08-09 06:42:59 +00:00
<a href="monotone.html">Monotone Guide</a>
2010-08-24 01:48:03 +00:00
</li><li>
2012-01-02 13:50:52 +00:00
<a href="http://docs.i2p-projekt.de/javadoc/">Javadocs</a> (standard internet)
Note: always verify that javadocs are current by checking the release number.
2010-08-24 01:48:03 +00:00
</li><li>
2012-01-02 13:50:52 +00:00
Javadocs inside I2P:
<a href="http://update.killyourtv.i2p/javadoc/">Server 1</a>
<a href="http://echelon.i2p/javadoc/">Server 2</a>
<a href="http://i2pdocs.str4d.i2p/i2p.i2p/javadoc/">Server 3</a>
2012-01-02 13:50:52 +00:00
<!--
<a href="http://docs.i2p2.i2p/javadoc/">Server 4 - out of date, incomplete</a>
2012-01-02 13:50:52 +00:00
-->
Note: always verify that javadocs are current by checking the release number.
</li><li>
<a href="http://update.killyourtv.i2p/mtn/">Automatic updates to development builds inside I2P</a>
</li><li>
<a href="http://forum.i2p2.de/">User forum</a>
</li><li>
<a href="http://zzz.i2p/">Developer forum inside I2P</a>
</li><li>
<a href="http://trac.i2p2.de/report/1">Bug tracker</a>
</li><li>
<a href="http://trac.i2p2.de/09roadmap">0.9 roadmap wiki</a> (not current)
</li><li>
<a href="roadmap.html">Old roadmap</a> (not current)
</li><li>
<a href="todo.html">To Do List</a> (not current)
2010-08-09 01:50:42 +00:00
</li></ul>
2010-08-08 13:45:30 +00:00
2008-02-03 02:46:04 +00:00
{% endblock %}