General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Juliusz Chroboczek <jch@pps.univ-paris-diderot.fr>
To: Dave Taht <dave.taht@gmail.com>
Cc: bloat <bloat@lists.bufferbloat.net>
Subject: [Bloat] BitTorrent and IPv6 [was: tackling torrent...]
Date: Sun, 21 Jun 2015 17:32:07 +0200	[thread overview]
Message-ID: <87wpyx3wnc.wl-jch@pps.univ-paris-diderot.fr> (raw)
In-Reply-To: <CAA93jw6Yw9WDA7M_g7bEMft7xxtvXN8X_XOWmPGJi7YM4sD5uA@mail.gmail.com>

[Removed AQM from CC.]

> 4) *All* the traffic was udp. (uTP)

Yes, modern BitTorrent implementations prefer µTP to TCP.  Unfortunately, 
the implementation of µTP in Transmission doesn't perform PMTUD, and gets 
packet sizes wrong most of the time.  (Yes, I spoke about this to Arvid.  
No, he wasn't particularly concerned.)

> Despite ipv6 being enabled (with two source specific ipv6 ips), I did 
> not see any ipv6 peers connect.  Bug? Death of torrent over ipv6? 
> Blocking? What?

Please check that you allow incoming IPv6 to your peer, for both TCP and 
UDP.  Obviously, setting port forwarding for IPv4 is not enough for that — 
you'll need to explicitly set up a hole in your IPv6 firewall.  If using 
OpenWRT:

     config rule
             option target 'ACCEPT'
             option src 'wan'
             option name 'Transmission-v6'
             option family 'ipv6'
             option dest '*'
             option dest_port '12345'

for the right value of 12345.

If you set the logging level in Transmission to Debug and let it run for 
twenty minutes or so, you should see periodic "Starting IPv6 DHT announce 
(... good ...)".  If you keep seeing "firewalled" instead of "good", 
you've got an issue.

Once you're positive you don't have firewalling issues, the following 
might be of interest.

I've done quite a bit of work a few years ago to improve IPv6 support in 
Transmission.  The main problem is how to learn the IPv6 addresses of 
your peers:

1. Many trackers don't support IPv6.

2. IPv6 is supported by PEX (gossip, peer-exchange).  I'm not sure if 
other peers honour IPv6 PEX when connected over IPv4, but Transmission 
certainly does.

3. I've implemented a protocol extension that allows peers connected over 
IPv4 to exchange their IPv6 addresses.  This is only marginally useful, 
but can sometimes allow bootstrapping IPv6 PEX without tracker support.

4. Most importantly, I've implemented IPv6 support for the DHT (BEP-32) [1].  
BEP-32 is now implemented by Transmission, Vuze, Tixati, KTorrent and 
Shareaza.

Points (1) through (3) are interoperable with µTorrent/BitTorrent and 
libtorrent, which constitute the vast majority of deployed BitTorrent 
peers.  Unfortunately, µTorrent and libtorrent do not implement BEP-32, 
and since these implementations constitute the vast majority of deployed 
BitTorrent peers outside China, this seriously limits the effectiveness of 
the IPv6 DHT.  (Yes, I've spoken to the µTorrent developers, and while 
they reviewed BEP-32 favourably, they had no plans at the time to implement 
it.)

[1] http://www.bittorrent.org/beps/bep_0032.html

-- Juliusz

  parent reply	other threads:[~2015-06-21 15:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-19 16:01 [Bloat] tackling torrent on a 10mbit uplink (100mbit down) Dave Taht
2015-06-19 22:14 ` Benjamin Cronce
2015-06-20  1:08   ` Dave Taht
2015-06-20  0:47 ` Dave Taht
2015-06-21 15:39   ` Juliusz Chroboczek
2015-06-21 16:24     ` Benjamin Cronce
2015-06-21 15:32 ` Juliusz Chroboczek [this message]
2015-06-22 19:29   ` [Bloat] BitTorrent and IPv6 [was: tackling torrent...] Dave Taht
2015-06-22 21:08     ` Juliusz Chroboczek
2015-06-24 17:30       ` Juliusz Chroboczek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wpyx3wnc.wl-jch@pps.univ-paris-diderot.fr \
    --to=jch@pps.univ-paris-diderot.fr \
    --cc=bloat@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox