Transports:

- Add RouterAddress specs
- Explain 'semireliable'
NetDB:
- BC are not in the RI caps, only the SSU RA caps
- Update published stats
This commit is contained in:
zzz
2014-09-10 17:26:55 +00:00
parent f75c499f96
commit 766f658edb
3 changed files with 66 additions and 8 deletions

View File

@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}The Network Database{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}June 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.14{% endblock %}
{% block lastupdated %}{% trans %}September 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.15{% endblock %}
{% block content %}
<h2>{% trans %}Overview{% endtrans %}</h2>
@@ -44,8 +44,6 @@ to be present:
<li><b>caps</b>
({% trans %}Capabilities flags - used to indicate floodfill participation, approximate bandwidth, and perceived reachability{% endtrans %})
<ul>
<li><b>B</b>: {% trans %}SSU Testing{% endtrans %}</li>
<li><b>C</b>: {% trans %}SSU Introducer{% endtrans %}</li>
<li><b>f</b>: {% trans %}Floodfill{% endtrans %}</li>
<li><b>H</b>: {% trans %}Hidden{% endtrans %}</li>
<li><b>K</b>: {% trans amount='12KBps' %}Under {{amount }} shared bandwidth{% endtrans %}</li>
@@ -60,6 +58,7 @@ to be present:
</li>
<li><b>coreVersion</b>
({% trans %}The core library version, always the same as the router version{% endtrans %})
(Unused, scheduled to be removed in 0.9.16)
</li>
<li><b>netId</b> = 2
({% trans %}Basic network compatibility - A router will refuse to communicate with a peer having a different netId{% endtrans %})
@@ -70,6 +69,7 @@ to be present:
<li><b>stat_uptime</b> = 90m
({% trans %}Always sent as 90m, for compatibility with an older scheme where routers published their actual uptime,
and only sent tunnel requests to peers whose was more than 60m{% endtrans %})
(Unused, scheduled to be removed in 0.9.16)
</li>
</ul>
@@ -94,10 +94,14 @@ with the side-effects that could result from revealing this data.
Current statistics are limited to:
{%- endtrans %}</p>
<ul>
<li>{% trans %}Client and exploratory tunnel build success, reject, and timeout rates{% endtrans %}
<li>{% trans %}Exploratory tunnel build success, reject, and timeout rates{% endtrans %}
<li>{% trans %}1 hour average number of participating tunnels{% endtrans %}
</ul>
<p>{% trans -%}
Floodfill routers publish additional data on the number of entries in their network database.
{%- endtrans %}</p>
<p>{% trans -%}
The data published can be seen in the router's user interface,
but is not used or trusted within the router.

View File

@@ -1,6 +1,6 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}NTCP (NIO-based TCP){% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}August 2014{% endtrans %}{% endblock %}
{% block lastupdated %}{% trans %}September 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.15{% endblock %}
{% block content %}
<p>{% trans transports=site_url('docs/transport'), ssu=site_url('docs/transport/ssu') -%}
@@ -25,6 +25,22 @@ because it uses the underlying Java TCP transport for reliable delivery.
{%- endtrans %}</p>
<h2><a name="ra">{% trans %}Router Address Specification{% endtrans %}</a></h2>
<p>{% trans -%}
The following properties are stored in the network database.
{%- endtrans %}</p>
<ul>
<li><b>Transport name:</b> NTCP
</li><li><b>host:</b> IP (IPv4 or IPv6) or host name.
Shortened IPv6 address (with "::") is allowed.
</li><li><b>port:</b> 1024 - 65535
</li></ul>
<h2>{% trans %}NTCP Protocol Specification{% endtrans %}</h2>
<h3>{% trans %}Standard Message Format{% endtrans %}</h3>

View File

@@ -1,7 +1,7 @@
{% extends "global/layout.html" %}
{% block title %}{% trans %}Secure Semireliable UDP{% endtrans %} (SSU){% endblock %}
{% block lastupdated %}{% trans %}February 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.11{% endblock %}
{% block lastupdated %}{% trans %}September 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.15{% endblock %}
{% block content %}
<p>{% trans transports=site_url('docs/transport'), ntcp=site_url('docs/transport/ntcp') -%}
@@ -17,6 +17,11 @@ In a standard I2P installation, the router uses both NTCP and SSU for outbound c
SSU-over-IPv6 is supported as of version 0.9.8.
{%- endtrans %}</p>
<p>{% trans -%}
SSU is called "semireliable" because it will repeatedly retransmit unacknowledged messages,
but only up to a maximum number of times. After that, the message is dropped.
{%- endtrans %}</p>
<h2>{% trans %}SSU Services{% endtrans %}</h2>
<p>{% trans -%}
@@ -31,6 +36,39 @@ Unique to SSU, it also provides IP detection and NAT traversal services, includi
<li>{% trans %}Communication of firewall status and local IP, and changes to either, to the router and the user interface{% endtrans %}</li>
</ul>
<h2><a name="ra">{% trans %}Router Address Specification{% endtrans %}</a></h2>
<p>{% trans -%}
The following properties are stored in the network database.
{%- endtrans %}</p>
<ul>
<li><b>Transport name:</b> SSU
</li><li><b>caps:</b> [B,C] <a href="#capabilities">{% trans %}See below{%- endtrans %}</a>.
</li><li><b>host:</b> IP (IPv4 or IPv6) or host name.
Shortened IPv6 address (with "::") is allowed.
May or may not be present if firewalled.
</li><li><b>ihost[0-2]:</b> Introducer's IP (IPv4 or IPv6) or host name.
Shortened IPv6 address (with "::") is allowed.
Only present if firewalled, and introducers are required.
<a href="#introduction">{% trans %}See below{%- endtrans %}</a>.
</li><li><b>ikey[0-2]:</b> Introducer's Base 64 introduction key. <a href="#key">{% trans %}See below{%- endtrans %}</a>.
Only present if firewalled, and introducers are required.
<a href="#introduction">{% trans %}See below{%- endtrans %}</a>.
</li><li><b>iport[0-2]:</b> Introducer's port 1024 - 65535.
Only present if firewalled, and introducers are required.
<a href="#introduction">{% trans %}See below{%- endtrans %}</a>.
</li><li><b>key:</b> Base 64 introduction key. <a href="#key">{% trans %}See below{%- endtrans %}</a>.
</li><li><b>mtu:</b> Optional. Default and max is 1484. Min is 620.
Must be present for IPv6, where the min is 1280 and the max is 1472.
IPv6 MTU must be a multiple of 16.
(IPv4 MTU + 4) must be a multiple of 16.
<a href="#mtu">{% trans %}See below{%- endtrans %}</a>.
</li><li><b>port:</b> 1024 - 65535
May or may not be present if firewalled.
</li></ul>
<h1>{% trans %}Protocol Details{% endtrans %}</h1>