From 6769df75086d042b8782cb06ea28bed32cd83dca Mon Sep 17 00:00:00 2001 From: Arvid Norberg Date: Sat, 11 Dec 2010 07:11:06 +0000 Subject: [PATCH] clarify some DHT extensions in docs --- docs/dht_extensions.html | 9 +++++++++ docs/dht_extensions.rst | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/docs/dht_extensions.html b/docs/dht_extensions.html index 7d39f5b9a..1684e8e0f 100644 --- a/docs/dht_extensions.html +++ b/docs/dht_extensions.html @@ -64,6 +64,14 @@ among the 8 closest nodes of the info hash. libtorrent also keeps traversing nodes using get_peers until it has found the 8 closest ones, and then announces to those nodes.

+
+

forward compatibility

+

In order to support future DHT messages, any message which is not recognized +but has either an info_hash or target argument is interpreted as +find node for that target. i.e. it returns nodes. This allows future messages +to be properly forwarded by clients that don't understand them instead of +being blocked.

+

client identification

In each DHT packet, an extra key is inserted named "v". This is a string @@ -95,6 +103,7 @@ as a binary number describing the client version.

IPv6 support

+

This extension is superseeded by BEP 32.

The DHT messages that don't support IPv6 are the nodes replies. They encode all the contacts as 6 bytes packed together in sequence in a string. The problem is that IPv6 endpoints cannot be encoded as 6 bytes, but diff --git a/docs/dht_extensions.rst b/docs/dht_extensions.rst index 9761a7675..689721e3b 100644 --- a/docs/dht_extensions.rst +++ b/docs/dht_extensions.rst @@ -15,6 +15,15 @@ among the 8 closest nodes of the info hash. libtorrent also keeps traversing nodes using get_peers until it has found the 8 closest ones, and then announces to those nodes. +forward compatibility +--------------------- + +In order to support future DHT messages, any message which is not recognized +but has either an ``info_hash`` or ``target`` argument is interpreted as +find node for that target. i.e. it returns nodes. This allows future messages +to be properly forwarded by clients that don't understand them instead of +being blocked. + client identification --------------------- @@ -39,6 +48,10 @@ Currently known clients: IPv6 support ------------ +**This extension is superseeded by** `BEP 32`_. + +.. _`BEP 32`: http://bittorrent.org/beps/bep_0032.html + The DHT messages that don't support IPv6 are the ``nodes`` replies. They encode all the contacts as 6 bytes packed together in sequence in a string. The problem is that IPv6 endpoints cannot be encoded as 6 bytes, but