On 19/06/2008, at 2:52 AM, Joe Abley wrote:
On 18 Jun 2008, at 10:42, Adrian Chadd wrote:
<random type="idea from tonight">
If only there was a way for a SP to run a BitTorrent type service for
their clients, subscribing the BT server(s) to known-good (ie, not
warez-y)
torrents pre-seeded from trusted sources and then leaving it the hell
alone and not having to continuously dump specific torrent files into
it.
</random>
Automatically leeching and then seeding for long periods is trivial
to set up if you can get an RSS feed with torrent enclosures. It is
my (highly theoretical, naturally) understanding that many
BitTorrent trackers make such feeds available.
However just because you have a fast, on-net seed for particular
torrents doesn't mean that your on-net leechers will necessarily
pick it up. The behaviour I have observed with BitTorrent is that
clients are handed a relatively short list of potential peers by the
tracker, and it's quite common for sensible, close, local peers not
to be included. My assumption has been that the set of potential
peers passed to the client is assembled randomly.
If this behaviour is widespread (i.e. if my observations are valid
and my interpretation of those observations reasonable) then the
more popular the content, the less likely leechers are to see the
seed you want them to see. This relegates your local, on-net, fast
seed to be a way of distributing unpopular content (that which is
not being seeded by many other people).
There has been at least one presentation at NANOG in the past couple
of years which describes the benefit to ISPs of p2p, by virtue of
keeping traffic for popular content on-net. From memory, however,
that presentation was based on a non-deployed p2p protocol which
made more of an effort to help peers find local peers than the
clients I described above.
There was a product around that would keep track of torrents and fudge
the tracker responses to direct you to on-net peers where possible.
Not sure what it's called. Inline box thing, much like Sandvine,
Allot, etc. I imagine you could either inject the details of a local
seed you're running, or keep track of on-net users and inject those.
From a tracker software point of view, it would be fairly trivial to
weight peer lists to prefer peers within the same ASN I imagine.
Perhaps that could be turned in to same country, or what not. Better,
combine it with some kind of rough AS adjacency graph and <insert
algorithm here> and viola.
Is there any data available that would let that happen easily?
Obviously routing tables for the ASN/IP mapping, but what about rough
ASN adjacency? It doesn't really need to be updated that often - even
CAIDA's yearly data that they use to make their pretty pictures could
work OK.
Seems like win/win/win - linux distribution vendors can pride
themselves on how much faster their torrents run, end users get better
speeds for their torrents, networks move less traffic off-net.
.. this is the part where someone bustles off and makes it go.
--
Nathan Ward