What data is being downloaded by my client when seeding a completed torrent?

When I'm seeding completed torrents, I often notice that aside from bytes leaving my PC, there are also bytes entering my PC. Examples of this can be seen in the image below. I am using Tixati as torrent client.

I understand that I'm uploading data when seeding, but what am I downloading if the torrent was already finished? Is it perhaps P2P protocol data? (I am unfamiliar with the underlying workings) However, sometimes the incoming transfer size approaches 1kB, which seems inplausible for simple overhead.

What data am I receiving? Is it persistent? Does this behavior differ in torrent clients?

Completed torrents that are up- and downloading


Solution 1:

Is it perhaps P2P protocol data?

Yes, it is.

sometimes the incoming transfer size approaches 1kB, which seems inplausible for simple overhead.

A transient peak of a few KB/s for transferring the handshake, extension handshake, bitfield and metadata transfer is normal for all clients.

Solution 2:

BitTorrent protocol is designed in a distributed way to reuse also data blocks of incomplete files. Your computer advertises certain files and than your peers are requesting data blocks - initially your advertisement goes to your direct peers which is than further relayed by distributed database (hash table). Thus the number of peers which know your files usually grows over time.

Each peer's request generates some inbound traffic, therefore your inbound traffic may also grow over time.

Here is screenshot of my client with marked:

  • protocol overhead
  • number of connections
  • distributed database nodes

Deluge screenshot with marked described features

In addition when you're seeding highly requested but rare file much more peers would like to download from your machine which obviously will generate a lot of inbound traffic.

To some extend you can reduce this impact by fiddling with Torrent client parameters such as number of concurrent downloads, open and half-open connections and so on.

I usually reduce the number of allowed connections as my home router has a tendency to hang with too many connections - that's a typical flaw of cheap SOHO routers as opposed to professional, dead expensive, ones.

Here is the screenshot of my client bandwidth-related options:

enter image description here

My router perfectly sustains 200 open connection, but when my kids start torrenting all of us need to reduce this option not exceed few hundreds connections in total, which in the same time reduces protocol traffic.

Unfortunately I was not able to find a good BitTorrent protocol spec. This one only partially answers the questions:

  • http://www.bittorrent.org/beps/bep_0003.html