176 lines
6.4 KiB
HTML
176 lines
6.4 KiB
HTML
{% extends "_layout.html" %}
|
|
{% block title %}Index to Technical Documentation{% endblock %}
|
|
{% block content %}
|
|
<h1>How does I2P work?</h1>
|
|
|
|
<p>
|
|
Following is an index to the technical documentation for I2P.
|
|
This information was updated in August 2010 and is accurate for router version 0.8.
|
|
</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
|
|
<a href="http://trac.i2p2.de/newticket">enter a ticket identifying the problem</a>.
|
|
|
|
|
|
<h2>Index to Technical Documentation</h2>
|
|
|
|
<h3>Overview</h3>
|
|
<ul class="helplist">
|
|
<li><a href="techintro.html">Technical Introduction</a></li>
|
|
<li><a href="how_intro.html">A Less-Technical Introduction</a></li>
|
|
<li><a href="how_threatmodel.html">Threat model and analysis</a></li>
|
|
<li><a href="how_networkcomparisons.html">Comparisons to other anonymous networks</a></li>
|
|
<li><a href="protocols.html">Protocol stack chart</a></li>
|
|
</ul>
|
|
|
|
<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>
|
|
<li><a href="updates.html">Router software updates</a></li>
|
|
</ul>
|
|
|
|
<h3>Application Layer API</h3>
|
|
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>
|
|
IRC Proxy
|
|
</li><li>
|
|
<a href="sam.html">SAM</a> API
|
|
</li><li>
|
|
<a href="samv2.html">SAMv2</a> API
|
|
</li><li>
|
|
<a href="samv3.html">SAMv3</a> API
|
|
</li><li>
|
|
<a href="bob.html">BOB API</a>
|
|
</li></ul>
|
|
|
|
<h3>End-to-End Transport API and Protocols</h3>
|
|
The end-to-end protocols used by clients for reliable and unreliable communication.
|
|
<ul><li>
|
|
<a href="streaming.html">Streaming Library</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/client/streaming/package-summary.html">Streaming Javadoc</a>
|
|
</li><li>
|
|
<a href="datagrams.html">Datagrams</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/client/datagram/package-summary.html">Datagram Javadoc</a>
|
|
</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>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/client/package-summary.html">I2CP API Javadoc</a>
|
|
</li><li>
|
|
<a href="common_structures_spec.html">Common data structures specification</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/data/package-summary.html">Data Structures Javadoc</a>
|
|
</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>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/data/i2np/package-summary.html">I2NP Javadoc</a>
|
|
</li><li>
|
|
<a href="common_structures_spec.html">Common data structures specification</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/data/package-summary.html">Data Structures Javadoc</a>
|
|
</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>
|
|
<li><a href="how_tunnelrouting.html">Tunnel routing overview</a></li>
|
|
<li><a href="how_garlicrouting.html">Garlic routing and "garlic" terminology</a></li>
|
|
<li><a href="tunnel-alt.html">Tunnel building and encryption</a></li>
|
|
<li><a href="how_elgamalaes.html">ElGamal/AES</a> for build request encryption</li>
|
|
<li><a href="how_cryptography.html">ElGamal and AES cryptography details</a></li>
|
|
<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>
|
|
</ul>
|
|
|
|
<h3>Transport Layer</h3>
|
|
The protocols for direct (point-to-point) router to router communication.
|
|
<ul><li>
|
|
<a href="transport.html">Transport layer overview</a>
|
|
</li><li>
|
|
<a href="ntcp.html">NTCP</a> TCP-based transport overview
|
|
</li><li>
|
|
<a href="udp.html">SSU</a> UDP-based transport overview
|
|
</li><li>
|
|
<a href="udp_spec.html">SSU specification</a>
|
|
</li><li>
|
|
<a href="how_cryptography.html#tcp">NTCP transport encryption</a>
|
|
</li><li>
|
|
<a href="how_cryptography.html#udp">SSU transport encryption</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/router/transport/package-summary.html">Transport Javadoc</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/router/transport/ntcp/package-summary.html">NTCP Javadoc</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/net/i2p/router/transport/udp/package-summary.html">SSU Javadoc</a>
|
|
</li></ul>
|
|
|
|
<h3>Other Router Topics</h3>
|
|
<ul><li>
|
|
<a href="jbigi.html">Native BigInteger Library</a>
|
|
</li><li>
|
|
Time synchronization and NTP
|
|
</li><li>
|
|
<a href="performance.html">Performance</a>
|
|
</li></ul>
|
|
|
|
<h3>Developer's Guides</h3>
|
|
<ul><li>
|
|
<a href="newdevelopers.html">New Developer's Guide</a>
|
|
</li><li>
|
|
<a href="newtranslators.html">New Translator's Guide</a>
|
|
</li><li>
|
|
<a href="monotone.html">Monotone Guide</a>
|
|
</li><li>
|
|
<a href="http://docs.i2p2.de/javadoc/">Javadocs</a>
|
|
</li><li>
|
|
<a href="todo.html">To Do List</a>
|
|
</li></ul>
|
|
|
|
|
|
{% endblock %}
|