forked from I2P_Developers/i2p.www
Redo RouterAddress picture
Add transport idle timeout info More SSU key clarification
This commit is contained in:
@@ -792,15 +792,18 @@ After that comes a <a href="#type_String">String</a> defining the transport prot
|
||||
IP address, port number, email address, URL, etc.
|
||||
{% endtrans %}</p>
|
||||
{% highlight lang='dataspec' %}
|
||||
+----+
|
||||
|cost|
|
||||
+----+----+----+----+----+----+----+----+
|
||||
| expiration |
|
||||
+----+----+----+----+-//-+----+----+----+
|
||||
| transport_style |
|
||||
+----+----+----+----+-//-+----+----+----+
|
||||
| options |
|
||||
|cost| expiration
|
||||
+----+----+----+----+----+----+----+----+
|
||||
| transport_style |
|
||||
+----+----+----+----+-//-+----+----+----+
|
||||
| |
|
||||
+ +
|
||||
| options |
|
||||
~ ~
|
||||
~ ~
|
||||
| |
|
||||
+----+----+----+----+----+----+----+----+
|
||||
|
||||
cost :: `Integer`
|
||||
length -> 1 byte
|
||||
@@ -858,7 +861,6 @@ the contained <a href="#struct_RouterIdentity">RouterIdentity</a>.
|
||||
+ +
|
||||
| |
|
||||
~ ~
|
||||
|
||||
~ ~
|
||||
| |
|
||||
+----+----+----+----+----+----+----+----+
|
||||
@@ -868,16 +870,12 @@ the contained <a href="#struct_RouterIdentity">RouterIdentity</a>.
|
||||
+----+ +
|
||||
| |
|
||||
~ ~
|
||||
|
||||
~ ~
|
||||
| |
|
||||
+----+----+----+----+----+----+----+----+
|
||||
| RouterAddress 1 |
|
||||
+ +
|
||||
| |
|
||||
~ ~
|
||||
~ ~
|
||||
|
||||
~ ~
|
||||
~ ~
|
||||
| |
|
||||
@@ -886,7 +884,6 @@ the contained <a href="#struct_RouterIdentity">RouterIdentity</a>.
|
||||
+ +
|
||||
| |
|
||||
~ ~
|
||||
|
||||
~ ~
|
||||
| |
|
||||
+----+----+----+----+-//-+----+----+----+
|
||||
|
@@ -265,7 +265,9 @@ This is the first message sent to establish a session.
|
||||
<li>that many byte representation of Bob's IP address</li>
|
||||
<li>N bytes, currently uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Bob's introKey, as retrieved from the network database</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Bob's introKey, as retrieved from the network database</td></tr>
|
||||
</table>
|
||||
|
||||
@@ -323,9 +325,11 @@ This is the response to a Session Request.
|
||||
using the negotiated session key as part of the DSA block</li>
|
||||
<li>N bytes, currently uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Bob's introKey, with an additional layer of encryption over the 40 byte
|
||||
signature and the following 8 bytes padding.</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Bob's introKey</td></tr>
|
||||
</table>
|
||||
|
||||
<p>Message format:</p>
|
||||
@@ -418,8 +422,10 @@ bits 3-0: total identity fragments (F) 1-15</pre></li>
|
||||
+ Alice's new relay key + Alice's signed on time)</li>
|
||||
</li></ul>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Alice/Bob sessionKey, as generated from the DH exchange</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Alice/Bob MAC Key, as generated from the DH exchange</td></tr>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
@@ -512,8 +518,10 @@ and is sent as of release 0.8.9.
|
||||
<tr><td align="right" valign="top"><b>Data:</b></td>
|
||||
<td>none
|
||||
</td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Alice/Bob sessionKey</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Alice/Bob MAC Key</td></tr>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -549,8 +557,10 @@ This is the first message sent from Alice to Bob to request an introduction to C
|
||||
<li>4 byte nonce of Alice's relay request</li>
|
||||
<li>N bytes, currently uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Bob's introKey, as retrieved from the network database (or Alice/Bob sessionKey, if established)</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Bob's introKey, as retrieved from the network database (or Alice/Bob MAC Key, if established)</td></tr>
|
||||
</table>
|
||||
|
||||
<p>Message format:</p>
|
||||
@@ -622,8 +632,10 @@ This is the response to a Relay Request and is sent from Bob to Alice.
|
||||
<li>4 byte nonce sent by Alice</li>
|
||||
<li>N bytes, currently uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Alice's introKey, as received in the Relay Request (or Alice/Bob sessionKey, if established)</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Alice's introKey, as received in the Relay Request (or Alice/Bob MAC Key, if established)</td></tr>
|
||||
</table>
|
||||
|
||||
<p>Message format:</p>
|
||||
@@ -682,8 +694,10 @@ This is the introduction for Alice, which is sent from Bob to Charlie.
|
||||
<li>that many bytes relayed from Alice</li>
|
||||
<li>N bytes, currently uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Bob/Charlie sessionKey</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Bob/Charlie MAC Key</td></tr>
|
||||
</table>
|
||||
|
||||
<p>Message format:</p>
|
||||
@@ -789,8 +803,10 @@ byte 1
|
||||
<li>that many bytes</li></ul>
|
||||
<li>N bytes padding, uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<td>sessionKey</td></tr>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>Alice/Bob sessionKey</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>Alice/Bob MAC Key</td></tr>
|
||||
</table>
|
||||
|
||||
<p>Message format:</p>
|
||||
@@ -890,7 +906,7 @@ See <a href="{{ site_url('docs/transport/ssu') }}#peerTesting">the SSU overview
|
||||
<li>Alice's or Charlie's 32-byte introduction key</li>
|
||||
<li>N bytes, currently uninterpreted</li>
|
||||
</ul></td></tr>
|
||||
<tr><td align="right" valign="top"><b>Key used:</b></td>
|
||||
<tr><td align="right" valign="top"><b>Crypto Key used:</b></td>
|
||||
<td>
|
||||
Listed in order of occurrence:
|
||||
<ol><li>
|
||||
@@ -913,6 +929,31 @@ Alice's introKey, as received in the Peer Test message from Bob
|
||||
</li><li>
|
||||
When sent from Alice to Charlie:
|
||||
Charlie's introKey, as received in the Peer Test message from Charlie
|
||||
</li></ol>
|
||||
</td></tr>
|
||||
<tr><td align="right" valign="top"><b>MAC Key used:</b></td>
|
||||
<td>
|
||||
Listed in order of occurrence:
|
||||
<ol><li>
|
||||
When sent from Alice to Bob:
|
||||
Alice/Bob MAC Key
|
||||
(the protocol also permits Bob's introKey if Alice and Bob do not have an established session,
|
||||
but in the current implementation Alice always selects a Bob that is established)
|
||||
</li><li>
|
||||
When sent from Bob to Charlie:
|
||||
Bob/Charlie MAC Key
|
||||
</li><li>
|
||||
When sent from Charlie to Bob:
|
||||
Bob/Charlie MAC Key
|
||||
</li><li>
|
||||
When sent from Bob to Alice:
|
||||
Alice's introKey, as received in the Peer Test message from Alice
|
||||
</li><li>
|
||||
When sent from Charlie to Alice:
|
||||
Alice's introKey, as received in the Peer Test message from Bob
|
||||
</li><li>
|
||||
When sent from Alice to Charlie:
|
||||
Charlie's introKey, as received in the Peer Test message from Charlie
|
||||
</li></ol>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}{% trans %}NTCP (NIO-based TCP){% endtrans %}{% endblock %}
|
||||
{% block lastupdated %}{% trans %}February 2013{% endtrans %}{% endblock %}
|
||||
i2p2www/pages/site/docs/transport/ntcp.html 4
|
||||
{% block accuratefor %}0.9.11{% endblock %}
|
||||
{% block content %}
|
||||
<p>{% trans transports=site_url('docs/transport'), ssu=site_url('docs/transport/ssu') -%}
|
||||
@@ -79,6 +79,16 @@ as defined in the <a href="{{ rfc1950 }}">ZLIB Specification</a>.
|
||||
{%- endtrans %}</p>
|
||||
|
||||
|
||||
<h3>{% trans %}Idle Timeout{% endtrans %}</h3>
|
||||
<p>{% trans -%}
|
||||
Idle timeout and connection close is at the discretion of each endpoint and may vary.
|
||||
The current implementation lowers the timeout as the number of connections approaches the
|
||||
configured maximum, and raises the timeout when the connection count is low.
|
||||
The recommended minimum timeout is two minutes or more, and the recommended
|
||||
maximum timeout is ten minutes or more.
|
||||
{%- endtrans %}</p>
|
||||
|
||||
|
||||
<h3>{% trans %}Establishment Sequence{% endtrans %}</h3>
|
||||
<p>{% trans -%}
|
||||
In the establish state, there is a 4-phase message sequence to exchange DH keys and signatures.
|
||||
|
@@ -1,9 +1,8 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}{% trans %}Secure Semireliable UDP{% endtrans %} (SSU){% endblock %}
|
||||
{% block lastupdated %}{% trans %}December 2013{% endtrans %}{% endblock %}
|
||||
{% block accuratefor %}0.9.9{% endblock %}
|
||||
{% block lastupdated %}{% trans %}February 2014{% endtrans %}{% endblock %}
|
||||
{% block accuratefor %}0.9.11{% endblock %}
|
||||
{% block content %}
|
||||
Note: IPv6 information is preliminary.
|
||||
|
||||
<p>{% trans transports=site_url('docs/transport'), ntcp=site_url('docs/transport/ntcp') -%}
|
||||
SSU (also called "UDP" in much of the I2P documentation and user interfaces)
|
||||
@@ -134,6 +133,17 @@ Further work is necessary to raise the UDP transport limit above 32KB.
|
||||
For connections using the larger MTU, larger messages are possible.
|
||||
{%- endtrans %}</p>
|
||||
|
||||
|
||||
<h2>{% trans %}Idle Timeout{% endtrans %}</h2>
|
||||
<p>{% trans -%}
|
||||
Idle timeout and connection close is at the discretion of each endpoint and may vary.
|
||||
The current implementation lowers the timeout as the number of connections approaches the
|
||||
configured maximum, and raises the timeout when the connection count is low.
|
||||
The recommended minimum timeout is two minutes or more, and the recommended
|
||||
maximum timeout is ten minutes or more.
|
||||
{%- endtrans %}</p>
|
||||
|
||||
|
||||
<h2><a name="keys">{% trans %}Keys{% endtrans %}</a></h2>
|
||||
|
||||
<p>{% trans -%}
|
||||
|
Reference in New Issue
Block a user